[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