[Paraview-developers] Reading NIFTI RGB(A) and unsigned int types
joeh at cis.jhu.edu
joeh at cis.jhu.edu
Tue Feb 14 12:25:17 EST 2012
Philip and Utkarsh,
I have made some of the same changes myself (minus the RGB and RGBA
support), but I do not have data to test the color RGB and RGBA nifti
files.
Philip,
could you send me examples of the color RGB and RGBA files so that I might
test reading and writing them.
-Joe
Utkarsh,
Once I test the reader and writer I will submit my changes as well.
-Joe
> Thanks Philip.
>
> Joe, do these changes look okay to you? If so, I can merge the patch
> into ParaView.
>
> Utkarsh
>
> On Tue, Feb 14, 2012 at 11:24 AM, Philip A Cook
> <cookpa at mail.med.upenn.edu> wrote:
>> Hi,
>>
>> With a few simple changes to
>> Plugins/AnalyzeNIfTIReaderWriter/vtkNIfTIReader.cxx, I was able to make
>> Paraview read NIFTI RGB and RGBA images, and also NIFTI unsigned short
>> and int data types.
>>
>> I tried to register for git access a week or two ago, but I haven't
>> heard back. I've tested the patch on 3.12 and 3.14 RC2 (commit
>> 1635f2e9eb4edabaa61a97f59d8f2febf20b5f1c). RGBA was a bit strange on
>> 3.12 (zero alpha would be opaque sometimes) but it seems to work OK now.
>>
>>
>> Phil
>>
>> diff --git a/Plugins/AnalyzeNIfTIReaderWriter/vtkNIfTIReader.cxx
>> b/Plugins/AnalyzeNIfTIReaderWriter/vtkNIfTIReader.cxx
>> index def6645..21fc3b3 100644
>> --- a/Plugins/AnalyzeNIfTIReaderWriter/vtkNIfTIReader.cxx
>> +++ b/Plugins/AnalyzeNIfTIReaderWriter/vtkNIfTIReader.cxx
>> @@ -258,23 +258,37 @@ void vtkNIfTIReader::ExecuteInformation()
>> this->SetDataScalarTypeToShort();
>> dataTypeSize = 2;
>> break;
>> + case DT_UINT16:
>> + this->SetDataScalarTypeToUnsignedShort();
>> + dataTypeSize = 2;
>> + break;
>> case DT_SIGNED_INT:
>> this->SetDataScalarTypeToInt();
>> dataTypeSize = 4;
>> break;
>> + case DT_UINT32:
>> + this->SetDataScalarTypeToUnsignedInt();
>> + dataTypeSize = 4;
>> + break;
>> case DT_FLOAT:
>> this->SetDataScalarTypeToFloat();
>> dataTypeSize = 4;
>> break;
>> case DT_DOUBLE:
>> - this->SetDataScalarTypeToDouble();
>> + this->SetDataScalarTypeToDouble();
>> dataTypeSize = 8;
>> break;
>> case DT_RGB:
>> - // DEBUG -- Assuming this is a triple, not quad
>> - //image.setDataType( uiig::DATA_RGBQUAD );
>> + this->SetDataScalarTypeToUnsignedChar();
>> + numComponents = 3;
>> + dataTypeSize=3;
>> break;
>> - default:
>> + case DT_RGBA32:
>> + this->SetDataScalarTypeToUnsignedChar();
>> + numComponents = 4;
>> + dataTypeSize=4;
>> + break;
>> + default: // Error gets thrown by ExecuteData if type is not set
>> break;
>> }
>> //
>>
>> _______________________________________________
>> Paraview-developers mailing list
>> Paraview-developers at paraview.org
>> http://public.kitware.com/mailman/listinfo/paraview-developers
>
More information about the Paraview-developers
mailing list