[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