[IGSTK-Users] CT Dicom images with gantry tilt

Andinet Enquobahrie andinet.enqu at kitware.com
Fri Aug 4 08:49:48 EDT 2006


Hi Fucang,

Thank you for pointing out the problem and for your detailed description.

IGSTK doesn't handle DICOM images with gantry tilt. That is why we added
a control logic to the DICOM image reader class. But, as you clearly
pointed out, the gantry tilt checking code fragment has a bug. It only
checks for gantry tilt in one direction ( either clockwise or
counter-clockwise ). That is why it seems to work for the sample dataset
 with gantry tilt in the Sandbox while it should have thrown an error event.

The if clause

>if( gantryTilt > gantryTiltThreshold )

should check for absolute gantry tilt angle

if( fabs(gantryTilt) > gantryTiltThreshold )

I will commit this fix to the cvs.

Please let us know if you see other issues

thanks

-Andinet



> Hi, Patrick,
>  
> Thank you for your help on the object disappering during tracking. I 
> will try the code later.
>  
> Today I found another problem, here is a head phantom scanned with CT 
> gantry tilt.
> The angle is
> (0018|1120) Gantry/Detector Tilt = 6.68
>  
> so IGSTK will not read this set of DICOM.
>  
> I see there is  several DICOM sets with gantry tilt in 
> Sandbox\Testing\Data\CT_WITH_GANTRYTILT,
> E000147_1, E000147_2, E000147_4 can be read by NeedleBiopsy app, whose 
> angle is
> -16.5, -6.5, -1.5 separately.
> But E000147_3, E000147_5, E000147_6 can not be read, whose angle is
> 6.5, 10.5,  20.5 separately.
>  
> I do not know why the gantry tilt with positive angle can not be read, 
> while the one with negative
> angle can be read into IGSTK. It seems that the shear transform should 
> be corrected in either positive
> angle or negative angle. Is that a bug in 
> igstkDICOMImageReader.txx around line 593-607 ?
>  
>   // Check if the gantry tilt is within an acceptable range
>     double gantryTilt;
>     double gantryTiltThreshold=0.01;
>  
>     std::stringstream sstr;
>     sstr.str( m_GantryTilt );
>     sstr >> gantryTilt;
>  
>     if( gantryTilt > gantryTiltThreshold )
>       {
>       this->m_ImageReadingErrorInformation = "Unacceptable gantry tilt";
>       this->m_StateMachine.PushInput( this->m_ImageReadingErrorInput );
>       this->m_StateMachine.ProcessInputs();
>       return;
>       }
>  
> And due to affine transform is needed to correct gantry tilt, should the 
> gantry tilted CT images
> be read or not be read into IGSTK before correction?
>  
> Thank you very much!
>  
> Fucang
>  
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> IGSTK-Users mailing list
> IGSTK-Users at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users





More information about the IGSTK-Users mailing list