[Insight-users] Image registration - 2 different initializati ons

Luis Ibanez luis.ibanez at kitware.com
Thu, 15 Jan 2004 14:50:21 -0500


Radhika,

When you converted the DICOM series to RAW and then
to Analyze format,.... how did you transferred the values
of image origin and image spacing ?

It is very likely that in the conversion process, the image
spacing was lost and the Analyze image got created with
a ficticious (anddangerous) spacing like  1.0 x 1.0 x 1.0.

Keep in mind that registration is performed in physical
units, not in pixels.   If the image spacing information got
corrupted, the values of the initializer will be corrupted
as well.


You can easily check the image spacing by invoking

                   image->Print( std::cout );

or more specifically

         std::cout <<  image->GetSpacing() << std::endl;


If you need to convert DICOM to Analyze you can
simply use MRIConvert (see previous email from
Jolinda Smith) or you can use the example program:

     Insight/Examples/IO/
                     DicomSeriesReadImageWrite.cxx
   
They will keep the image origin and spacing
information.



Regards,


   Luis


-----------------------------------
Radhika Sivaramakrishna wrote:

> Hi Luis,
> I am really sorry about this. I think I pasted the wrong thing from my 
> output.
>
> Here it is with the DicomSeries -> Raw -> Analyze run:
>
> Transform center before Initializer 0  0  0
>  Transform center after Initializer 123.619  150.723  97.2895
> Intial Parameters =
> [0, 0, 0, 0.661387, 1.31363, -0.631911]
>  Translationscale   = 1000
>
> Here it is with the Dicom series run:
>
>
> Transform center before Initializer 0  0  0
>  Transform center after Initializer -2.34973  225.964  219.384
> Intial Parameters =
> [0, 0, 0, -0.0650073, 1.4008, -2.19123]
>  Translationscale   = 1000
>
> Thanks
> Radhika
>