[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
>