[Insight-users] ITK 3.12 : Scheduled for Feb 28 2009
Ivan Macia
imacia at vicomtech.org
Sun Feb 22 17:14:30 EST 2009
Hi Luis,
Everything runs smoothly now with the latest changes. Thanks again for being
so expeditive.
Regarding the image Direction what you comment makes sense. I simply forgot
that we could work with single-sliced 3D images. I think we can easily adapt
our cached loading using 3D single-sliced images instead of 2D images.
Regards
Iván
2009/2/22 Luis Ibanez <luis.ibanez at kitware.com>
>
> Hi Ivan,
>
> This problem has now been fixed in the following way:
>
> The ImageFileReader when encountering that the image
> in the file has a number of dimensions larger than the
> image type (e.g. loading a 3D image into an itkImage<char,2>
> will set the direction cosines to a set of defaults defined
> by the ImageIO class responsible for reading the image.
>
> The default set of direction cosines is defined in the
> ImageIOBase class, and it is set to an Identity matrix.
>
> This Default is modified in the AnalyzeImageIO class
> in order to fit in the three types of orientations
> supported by Analyze.
>
>
> ---
>
> The challenge here is that the solution must be an
> N-Dimensional one. The reasoning should hold for
> reading a 3D image out of a 4D sequence as well.
>
> If you want to treat a DICOM slice as a 3D image, then
> you should simply instantiate it as a 3D image from the
> beginning. In this way you will have a 3x3 Direction
> cosines matrix.
>
> The scenario that you describe, where you are combining
> multiple slices in 3D, should indeed be using 3D images
> of 1-slice each, instead of using 2D images. Mathematically
> 2D images *do not* have a 3D thickness. They don't even
> exist in 3D space.
>
> ----
>
> With the current fix, your DICOM images can be read into
> 2D images, and their 2x2 direction cosines will be set
> to an identity matrix.
>
> Again, if you really want to consider this information
> in 3D, then you should load this image into a 3D instance
> of the itk::Image class.
>
> After the modifications we can read the two DICOM slices
> that you sent, into a 2D instance of the itk::Image.
>
>
> If you have a chance, please give it a try to a CVS
> updated checkout and let us know if you see any problems,
>
>
>
> Thanks
>
>
> Luis
>
>
> --------------------
> Ivan Macia wrote:
>
>> Hi Luis,
>>
>> IMHO direction should be a 3x3 matrix, since a slice has an orientation in
>> 3D space that for example is specified in the DICOM (DICOM also specifies
>> Image Position too). For example, we use a cache strategy that allows us to
>> load slices of a volume for visualization on demand. At the time of
>> reconstructing the volume, we use this 3D direction in order to generate the
>> volume (3D ITK image).
>>
>> There are times that a DICOM Series mixes images with different
>> orientation where this information would be useful. For example, there are
>> series that consist of a reformatted volume, let's say in axial orientation,
>> whose first image is a coronal screenshot that represents the reconstructed
>> area of the reformatted volume that follows. It seems reasonable to me to
>> keep this information without having to recur to the DICOM metadata. The
>> same argument could be applied to the image position, which is also 3D.
>>
>> But probably there are other considerations, such as the Analyze format
>> you mention and other requirement or implementation issues that I am not
>> aware of.
>>
>> In any case, thanks in advance for looking into this.
>>
>> Iván
>>
>>
>> 2009/2/22 Luis Ibanez <luis.ibanez at kitware.com <mailto:
>> luis.ibanez at kitware.com>>
>>
>>
>>
>> Hi Ivan,
>>
>> Thanks for pointing this out,
>> and thanks for sharing your images.
>>
>>
>> As described in the bug report, the offending code is in the
>> ImageFileReader.
>>
>> We are looking at options that would result in a reasonable
>> behavior.
>>
>> The challenge is that:
>>
>>
>> a) When reading 3D Direction cosines into a 2D image,
>> we only keep a 2x2 matrix. This matrix doesn't really
>> map to 3D space
>>
>> b) The current code manually modify the matrices to
>> satisfy the restrictions of the Analyze file format,
>> but it doesn't address all the cases
>>
>> c) The naive solution of setting the directions to an
>> identiy will result in an orientation that is not
>> supported by Analyze.
>>
>>
>> We are looking into this...
>>
>>
>> Thanks
>>
>>
>> Luis
>>
>>
>> ------------------
>> Ivan Macia wrote:
>>
>> Hi Luis, all,
>>
>> I dont know if this could be an outstanding issue or we are
>> doing something wrong but for us it is. Since version ITK-3.10
>> and on, we are not able to load ANY coronal or sagittal slice
>> with a simple itk::ImageFileReader for a 2D image. An exception
>> is always thrown in
>> itk::ImageBase::ComputeIndexToPhysicalPointMatrices()
>> complaining about the direction matrix being singular. This
>> prevents us to switch to ITK-3.10 or future ITK-3.12 since our
>> ITK-based software stopped working correctly.
>>
>> This was posted in the developers list some time ago but
>> unfortunately got no answer this time :(
>> See detailed description here.
>>
>> http://public.kitware.com/Bug/view.php?id=8470
>>
>> Can anyone please try to reproduce this error? You may used
>> attached Dicom files to this email, one is coronal and one is
>> sagittal. I tried with ImageReadWrite example in ITK-3.10.1.
>> This works in ITK-3.8.0.
>> I have set ITK_USE_ORIENTED_IMAGE_DIRECTION ON in CMake, but I
>> think this should still work with this setting isn't it?
>>
>> Thanks in advance for your help
>>
>> Ivan
>>
>>
>>
>> 2009/2/20 Luis Ibanez <luis.ibanez at kitware.com
>> <mailto:luis.ibanez at kitware.com> <mailto:luis.ibanez at kitware.com
>> <mailto:luis.ibanez at kitware.com>>>
>>
>>
>>
>> Just to let you know that the release of ITK 3.12
>> is scheduled for Feb 28.
>>
>> During the following week we will be cleaning up
>> the Dashboard.
>>
>> If you see any outstanding issue,
>> please let us know,
>>
>>
>> Thanks
>>
>>
>> Luis
>>
>>
>> _____________________________________
>> Powered by www.kitware.com <http://www.kitware.com>
>> <http://www.kitware.com>
>>
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090222/fd1951a6/attachment-0001.htm>
More information about the Insight-users
mailing list