[Insight-developers] Modularization, Groups, IO, NRRD, oh my!

Daniel Blezek Blezek.Daniel at mayo.edu
Mon Mar 28 14:51:14 EDT 2011


Hi,

  I did get this output.  However, the resulting ITK library would not read
Nrrd images.

  ITKGroup_IO is not set in UseITK.cmake.  There is no way to tell from an
external project how ITK was compiled.  (I did try to print it out wath a
message command)

Thanks,
-dan


On 3/28/11 1:42 PM, "Xiaoxiao Liu" <xiaoxiao.liu at kitware.com> wrote:

> 
> I just tried from a clean build tree.  After the configuration, you will see
> the output from cmake like this:
> ************************************************
> .....
> 
> Enabled ITK-IO-Base, needed by
> [ITK-IO-BMP;ITK-IO-GDCM;ITK-IO-JPEG;ITK-IO-Meta;ITK-IO-NRRD;ITK-IO-PNG;ITK-IO-
> TIFF;ITK-IO-VTK;ITK-SpatialObjects;ITK-IO-SpatialObjects;ITK-IO-XML;ITK-IO-GIP
> L;ITKGroup_IO;ITK-IO-NIFTI;ITK-IO-IPL;ITK-IO-BioRad;ITK-IO-RAW;ITK-IO-Stimulat
> e].
> -- Enabled ITK-IO-BMP, requested by Module_ITK-IO-BMP.
> -- Enabled ITK-Expat, needed by [ITK-GDCM;ITK-IO-XML].
> -- Enabled ITK-OpenJPEG, needed by [ITK-GDCM].
> -- Enabled ITK-ZLIB, needed by
> [ITK-GDCM;ITK-MetaIO;ITK-NrrdIO;ITK-PNG;ITK-TIFF;ITK-IO-GIPL;ITK-NIFTI].
> -- Enabled ITK-GDCM, needed by [ITK-IO-GDCM].
> -- Enabled ITK-IO-GDCM, requested by Module_ITK-IO-GDCM.
> -- Enabled ITK-JPEG, needed by [ITK-IO-JPEG;ITK-TIFF].
> -- Enabled ITK-IO-JPEG, requested by Module_ITK-IO-JPEG.
> -- Enabled ITK-MetaIO, needed by [ITK-IO-Meta].
> -- Enabled ITK-IO-Meta, requested by Module_ITK-IO-Meta.
> -- Enabled ITK-NrrdIO, needed by [ITK-IO-NRRD].
> -- Enabled ITK-IO-NRRD, requested by Module_ITK-IO-NRRD.
> -- Enabled ITK-PNG, needed by [ITK-IO-PNG].
> -- Enabled ITK-IO-PNG, requested by Module_ITK-IO-PNG.
> -- Enabled ITK-TIFF, needed by [ITK-IO-TIFF].
> -- Enabled ITK-IO-TIFF, requested by Module_ITK-IO-TIFF.
> -- Enabled ITK-IO-VTK, requested by Module_ITK-IO-VTK.
> 
> ......
> 
> ******************************************************
> 
> Which shows that those IO modules were enabled.  If you didn't see this msg,
> maybe something is wrong.
> You can always print out the value of  "ITKGroup_IO" in your cmake code to
> check whether it's ON or OFF. Not sure this answers your second question.
> 
> 
> 
> 
> On Mon, Mar 28, 2011 at 2:26 PM, Daniel Blezek <Blezek.Daniel at mayo.edu> wrote:
>> Xiaoxiao,
>> 
>>   Groups do not do the right thing (for IO).  I¹ve just confirmed this.  It
>> is very confusing to have IO-NRRD and NrrdIO, and do they turn each other on
>> (NrrdIO library is pointless without IO-NRRD, and vice versa).  Same for
>> GDCM.
>> 
> 
>>   I¹ll re-ask #3, Can I detect if ITKGroup_IO is on in my CMakeLists.txt
>> file?  If so, how?
>> 
> 
>  
>> -dan
>> 
>> 
>> On 3/28/11 1:17 PM, "Xiaoxiao Liu" <xiaoxiao.liu at kitware.com
>> <http://xiaoxiao.liu@kitware.com> > wrote:
>> 
>>> 
>>> 
>>> On Mon, Mar 28, 2011 at 2:01 PM, Daniel Blezek <Blezek.Daniel at mayo.edu
>>> <http://Blezek.Daniel@mayo.edu> > wrote:
>>>> ITKers,
>>>> 
>>>>   I have so questions about ITK¹s new modularization scheme, now that I¹ve
>>>> had some time to digest it.
>>>> 
>>>> 1. Why is there a Module_ITK-IO-NRRD and Module_ITK-NrrdIO?
>>>>> >> The  module  named "ITK-IO-NRRD" is in IO group under Module/IO . It's
>>>>> the ITK interface for Nrrd image format.
>>>      The module   named "ITK-NrrdIO" is in Thirdparty group under
>>> Module/ThridParty/.
>>>      Yes, It is quite confusing if you don't get to see the grouping in the
>>> option.
>>>> 1. Groups don¹t seem to do the right thing.  I had to explicitly turn on
>>>> IO-NRRD and NrrdIO to make SimpleITK read NRRD images, despite ITKGroup_IO
>>>> being ON. 
>>>  If you turn ITKGroup_IO on, you  shouldn't need to turn on IO-NRRD and
>>> NrrdIO.  The CMake will turn them on automatically for you when you
>>> configure it, but the cmake variable Module_<**> won't  reflect those
>>> CMake-enforced changes  on the gui.  The gui only reflect users's changes to
>>> avoid confusion. Let me know if your experience suggested the opposite, we
>>> can try to debug the problem.
>>> 
>>>> 1. How can my CMakeLists.txt file determine which modules are turned on in
>>>> ITK?  This is especially a problem for IO, because our test data comes in
>>>> many formats.  Because #2 isn¹t working, it¹s a pain to turn on all the IO
>>>> formats.  I would like to check to make sure we have the minimum supported
>>>> set of modules configured to avoid the frustration of missing include flags
>>>> and being unable to read images that worked in monolithic ITK.
>>> If you use most of the IO formats, just turn on ITKGroup_IO. As sugguested
>>> by the previous item.
>>> 
>>>> 
>>>> Thanks,
>>>> -dan

-- 
Daniel Blezek, PhD
Medical Imaging Informatics Innovation Center

P 127 or (77) 8 8886
T 507 538 8886
E blezek.daniel at mayo.edu

Mayo Clinic
200 First St. S.W.
Harwick SL-44
Rochester, MN 55905
mayoclinic.org
"It is more complicated than you think." -- RFC 1925

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110328/75001234/attachment.htm>


More information about the Insight-developers mailing list