[Insight-developers] SpatialOrientation and itkImageBase

Kent Williams norman-k-williams at uiowa.edu
Fri Sep 9 10:27:55 EDT 2005


In general, SpatialOrientation is a shorthand for anatomical 
orientation, and won't have a well-defined meaning for every sort of 
image volume.  It's very useful where it is relevant, for 3D anatomical 
images.

The only problem I see in the code is int ImageBase<>::SetDirection, 
which takes a SpatialOrientation::ValidCoordinateOrientationFlags to 
specify the direction cosines. For ND, ND > 3 the code will execute and 
run, but only the upper left 3x3 of the direction matrix gets 
initialized.  I suspect that the ND == 2 would also be problematic, 
since there's no 3rd Row or 3rd Column in the matrix.  In 2D 
SpatialOrientation still has useful meaning, there's just no third 
direction cosine.

An expedient,  way to handle it would be to use template specialization 
to make the current implementation specific to 2D and 3D, and have a 
general implementation for N>3 that as much as possible does the right 
thing.

What the right thing is, I leave up to the smart guys - you know who you 
are.

The other problem, now that I think of it, with SpatialOrientation is 
the enum name ValidCoordinateOrientationFlags.  If anyone else can think 
of a more concise name, lets use it.

Bill Lorensen wrote:

> I'm concerned about the recent additions to itkImageBase regarding 
> SpatialOrientation. The current implementation seems to only support 
> 3D images. ImageBase is n-dimensional.
>
> Perhaps this functionality could be provided through an external 
> mechanism.
>
> If the interested parties are on Friday's t-con, maybe we can discuss.
>
> Bill
>
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers
>



More information about the Insight-developers mailing list