[Insight-users] guest image pixel type

Lic. José M. Rodriguez Bacallao jmrbcu at gmail.com
Wed Nov 25 08:38:53 EST 2009


but, if I don't know in advance what kind of image (CT, MR, PET, etc)
I will load, the only thing I know is that the image is a dicom image,
what is the simplest way to know the right pixel type

On 11/24/09, Bill Lorensen <bill.lorensen at gmail.com> wrote:
> For MR/CT images, I always use short for the output of the readers.
> WHat are your modalities? If you have PET or SPECT they may be
> floating point.
>
> Bill
>
> On Tue, Nov 24, 2009 at 5:06 PM, Lic. José M. Rodriguez Bacallao
> <jmrbcu at gmail.com> wrote:
>> but I will need to manage all pixel type that I need to handle no?
>>
>> On Tue, Nov 24, 2009 at 5:00 PM, Bill Lorensen <bill.lorensen at gmail.com>
>> wrote:
>>> Then I would use the itk readers. itk has better support for image
>>> reading and processing.
>>>
>>>
>>> On Tue, Nov 24, 2009 at 4:38 PM, Lic. José M. Rodriguez Bacallao
>>> <jmrbcu at gmail.com> wrote:
>>>> in fact I need to use both, vtk for visualization and itk for processing
>>>>
>>>> On Tue, Nov 24, 2009 at 4:15 PM, Bill Lorensen <bill.lorensen at gmail.com>
>>>> wrote:
>>>>> It is up to you. If you are using vtk, then use vtk for reading.
>>>>>
>>>>> On Tue, Nov 24, 2009 at 4:01 PM, Lic. José M. Rodriguez Bacallao
>>>>> <jmrbcu at gmail.com> wrote:
>>>>>> so, if U need to do all those things to read an image(s) with itk, why
>>>>>> U doesn't use vtk and gdcm for reading?
>>>>>>
>>>>>> On 11/24/09, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>>>>>>> Here's what we do in Slicer3:
>>>>>>>
>>>>>>>   #include "itkPluginUtilities.h"
>>>>>>>   ...
>>>>>>>   itk::ImageIOBase::IOPixelType pixelType;
>>>>>>>   itk::ImageIOBase::IOComponentType componentType;
>>>>>>>
>>>>>>>   try
>>>>>>>     {
>>>>>>>     itk::GetImageType (fileName, pixelType, componentType);
>>>>>>>    }
>>>>>>>
>>>>>>>     // This filter handles all types on input, but only produces
>>>>>>>     // signed types
>>>>>>>
>>>>>>>     switch (componentType)
>>>>>>>       {
>>>>>>>       case itk::ImageIOBase::UCHAR:
>>>>>>>       case itk::ImageIOBase::CHAR:
>>>>>>>         return DoIt( argc, argv, static_cast<char>(0));
>>>>>>>         break;
>>>>>>>       case itk::ImageIOBase::USHORT:
>>>>>>>       case itk::ImageIOBase::SHORT:
>>>>>>>         return DoIt( argc, argv, static_cast<short>(0));
>>>>>>>         break;
>>>>>>>       case itk::ImageIOBase::UINT:
>>>>>>>       case itk::ImageIOBase::INT:
>>>>>>>         return DoIt( argc, argv, static_cast<int>(0));
>>>>>>>         break;
>>>>>>>       case itk::ImageIOBase::ULONG:
>>>>>>>       case itk::ImageIOBase::LONG:
>>>>>>>         return DoIt( argc, argv, static_cast<long>(0));
>>>>>>>         break;
>>>>>>>       case itk::ImageIOBase::FLOAT:
>>>>>>>         return DoIt( argc, argv, static_cast<float>(0));
>>>>>>>         break;
>>>>>>>       case itk::ImageIOBase::DOUBLE:
>>>>>>>         return DoIt( argc, argv, static_cast<double>(0));
>>>>>>>         break;
>>>>>>>       case itk::ImageIOBase::UNKNOWNCOMPONENTTYPE:
>>>>>>>       default:
>>>>>>>         std::cout << "unknown component type" << std::endl;
>>>>>>>         break;
>>>>>>>       }
>>>>>>>     }
>>>>>>>   catch( itk::ExceptionObject &excep)
>>>>>>>     {
>>>>>>>     std::cerr << argv[0] << ": exception caught !" << std::endl;
>>>>>>>     std::cerr << excep << std::endl;
>>>>>>>     return EXIT_FAILURE;
>>>>>>>     }
>>>>>>>   return EXIT_SUCCESS;
>>>>>>> }
>>>>>>>
>>>>>>> Where itkPluginUtilities.h is here:
>>>>>>> http://viewvc.slicer.org/viewcvs.cgi/trunk/Base/CLI/itkPluginUtilities.h?rev=5669&view=markup
>>>>>>>
>>>>>>> For an example of a complete program see:
>>>>>>> http://viewvc.slicer.org/viewcvs.cgi/trunk/Applications/CLI/Add.cxx?rev=10441&view=markup
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lic. José M. Rodriguez Bacallao
>>>>>> Centro de Biofisica Medica
>>>>>> -----------------------------------------------------------------
>>>>>> Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo
>>>>>> mismo.
>>>>>>
>>>>>> Recuerda: El arca de Noe fue construida por aficionados, el titanic
>>>>>> por profesionales
>>>>>> -----------------------------------------------------------------
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lic. José M. Rodriguez Bacallao
>>>> Centro de Biofisica Medica
>>>> -----------------------------------------------------------------
>>>> Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo
>>>> mismo.
>>>>
>>>> Recuerda: El arca de Noe fue construida por aficionados, el titanic
>>>> por profesionales
>>>> -----------------------------------------------------------------
>>>>
>>>
>>
>>
>>
>> --
>> Lic. José M. Rodriguez Bacallao
>> Centro de Biofisica Medica
>> -----------------------------------------------------------------
>> Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo
>> mismo.
>>
>> Recuerda: El arca de Noe fue construida por aficionados, el titanic
>> por profesionales
>> -----------------------------------------------------------------
>>
>


-- 
Lic. José M. Rodriguez Bacallao
Centro de Biofisica Medica
-----------------------------------------------------------------
Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo mismo.

Recuerda: El arca de Noe fue construida por aficionados, el titanic
por profesionales
-----------------------------------------------------------------


More information about the Insight-users mailing list