[IGSTK-Developers] igstkImageReader & ImageSpatialObject

Patrick Cheng cheng at isis.georgetown.edu
Thu Sep 8 09:47:08 EDT 2005


Hi everyone,

I have some question about the design of these two classes.
It seems that the igstkImageReader is essentially a itkImageToVTKFilter, 
and the inheritance relation is:
igstkImageReader <-- igstkDICOMImageReader <-- igstkCTImageReader

and in the igstkImageSpatialObject it uses the CTImageReader and the 
GetVTKImage() method to pass the data to 
ImageSpatialObjectRepresentation. the internal itkImageSpatialObject 
actually is not used at all.

Here is my question:
1. If we encapsulate the Reader Class into the ImageSpatialObject, it 
will be very hard to extend. (if people wants to read in other kind of 
data). So I think we should separate them and use the internal 
itkImageSpatialObject->SetImage() method to pass the image data from 
reader to igstkImageSpatialObject

2. itkImageToVTKFilter is actually a filter, need input image, it 
behaves differently from ImageReader. I think we should not make this 
class to be the base class of igstkImageReader. instead, put it into the 
igstkImageSpatialObjectRepresentation. then we can use this filter and 
the igstkImageSpatialObject->GetImage() method to filter the data to 
VTKImageData and create actor for it.

3. Also the igstkImageSpatialObjectRepresentation class may be need to 
branch into two class: igstkImageSpatialObject2DRepresentation and 
igstkImageSpatialObject3DRepresentation. b/z we need implement different 
rendering method for 2D (slice) and for 3D (volume or surface)

4. Also some small requirements: logger need to be added to 
igstkImageSpatialObject; testing program need to be added for 
igstkImageSpatialObjectRepresentation

I think this way, the pipe line is more clear.

Thank you.

Patrick

-- 
Peng (Patrick) Cheng
Research Engineer
cheng at isis.georgetown.edu

Imaging Science and Information Systems (ISIS) Center
Department of Radiology, Georgetown University Medical Center
2115 Wisconsin Avenue, Suite 603
Washington, DC, 20007

Work phone: 202-687-2902
Work fax:   202-784-3479
Cell phone: 202-674-5626



More information about the IGSTK-Developers mailing list