Computer Assited Medical Intervention Tool Kit  version 5.0
camitk::InterfaceBitMap Class Referenceabstract

This class describes what are the methods to implement for a BitMap. An InterfaceBitMap is a kind of simplifier/wrapper for vtkImageData. More...

#include <InterfaceBitMap.h>

+ Inheritance diagram for camitk::InterfaceBitMap:
+ Collaboration diagram for camitk::InterfaceBitMap:

Public Member Functions

virtual vtkSmartPointer< vtkImageActor > get2DImageActor () const =0
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D viewers. More...
 
virtual vtkSmartPointer< vtkImageActor > get3DImageActor () const =0
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 3D viewers. More...
 
virtual vtkSmartPointer< vtkImageData > getImageData () const =0
 Returns the encapsultaed data structure: the image as a vtkImageData. More...
 
virtual int getNumberOfColors () const =0
 Return the number of colors in the images. More...
 
virtual int getNumberOfSlices () const =0
 Return the number of slices in the image data set. More...
 
virtual vtkSmartPointer< vtkActor > getPickPlaneActor () const =0
 Return the vtkActor used to pick pixels in the slices. More...
 
virtual vtkSmartPointer< vtkActor > getPixelActor ()=0
 Return the vtkActor used to pick pixels in the slices. More...
 
virtual int getSlice () const =0
 Return the index of the current displayed slice. More...
 
virtual void pixelPicked (double, double, double)=0
 This method is called when the associated plane has been picked in the InteractiveViewer, the given coordinates is position where the plane was picked. More...
 
virtual void setArbitraryTransform (vtkSmartPointer< vtkTransform >)=0
 Set the pointer to the image transformation. More...
 
virtual void setImageWorldTransform (vtkSmartPointer< vtkTransform >)=0
 set the transformation for 3D image representation More...
 
virtual void setOriginalVolume (vtkSmartPointer< vtkImageData >)=0
 set the original volume image data (the source vtkImageData before any reslice) and refresh the vtk pipeline More...
 
virtual void setPixelRealPosition (double, double, double)=0
 move the pixel selection green indicator (pixelActor) to the given real position More...
 
virtual void setSlice (double x, double y, double z)=0
 Set the slice corresponding to the given image coordinates (in RAI convention) More...
 
virtual void setSlice (int s)=0
 Set the current slice index. More...
 
virtual void updatePickPlane ()=0
 update the position of the plane surrounding the currently selected slice More...
 
virtual ~InterfaceBitMap ()=default
 virtual destructor More...
 
manage extra prop associated with an InterfaceBitMap

TODO

  • put all this management into a dedicated interface
  • remove it from InterfaceBitMap and InterfaceGeometry
  • remove it from Slice and Geometry helper classes
  • create a new associated helper class
  • update Component class and all other code using it (if needed) Note : beware that Geometry requires this to manage to at least "label" and "glyph" extra actors
virtual vtkSmartPointer< vtkProp > getProp (const QString &)=0
 Return the vtkProp (actors, volumes and annotations) corresponding to the given name. More...
 
virtual unsigned int getNumberOfProp () const =0
 return the number of additional prop More...
 
virtual vtkSmartPointer< vtkProp > getProp (unsigned int)=0
 return an additional prop by its index More...
 
virtual bool addProp (const QString &, vtkSmartPointer< vtkProp >)=0
 insert an additional prop, defining it by its name (default visibility = false) More...
 
virtual bool removeProp (const QString &)=0
 remove a given additional prop. More...
 

Detailed Description

This class describes what are the methods to implement for a BitMap. An InterfaceBitMap is a kind of simplifier/wrapper for vtkImageData.

This class defines an "interface" (in the OOP/java meaning of the term). See the introduction of GoF: "Program to an interface, not an implementation." To see what Erich Gamma has to say about it: http://www.artima.com/lejava/articles/designprinciplesP.html To see what Bjarne Stroustrup has to say about it: http://www.artima.com/intv/modern.html

See also
Slice

Constructor & Destructor Documentation

◆ ~InterfaceBitMap()

virtual camitk::InterfaceBitMap::~InterfaceBitMap ( )
virtualdefault

virtual destructor

Member Function Documentation

◆ addProp()

virtual bool camitk::InterfaceBitMap::addProp ( const QString &  ,
vtkSmartPointer< vtkProp >   
)
pure virtual

insert an additional prop, defining it by its name (default visibility = false)

Returns
true if the additional prop was added (i.e. another additional prop of the same name does not exist)

Implemented in camitk::Component, and camitk::Slice.

◆ get2DImageActor()

virtual vtkSmartPointer<vtkImageActor> camitk::InterfaceBitMap::get2DImageActor ( ) const
pure virtual

Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D viewers.

Implemented in camitk::Slice.

Referenced by camitk::InteractiveViewer::refresh().

+ Here is the caller graph for this function:

◆ get3DImageActor()

virtual vtkSmartPointer<vtkImageActor> camitk::InterfaceBitMap::get3DImageActor ( ) const
pure virtual

Return the vtkImageActor (vtkProp) representing a slice to be displayed in 3D viewers.

Implemented in camitk::Slice.

◆ getImageData()

virtual vtkSmartPointer<vtkImageData> camitk::InterfaceBitMap::getImageData ( ) const
pure virtual

Returns the encapsultaed data structure: the image as a vtkImageData.

Implemented in camitk::Slice, and camitk::ImageComponent.

◆ getNumberOfColors()

virtual int camitk::InterfaceBitMap::getNumberOfColors ( ) const
pure virtual

Return the number of colors in the images.

If color is coded on 1 byte, the images are on 256 grey level. If color is coded on 2 bytes, the images are on 4096 grey level (not 65536).

Implemented in camitk::Slice, and camitk::ImageComponent.

◆ getNumberOfProp()

virtual unsigned int camitk::InterfaceBitMap::getNumberOfProp ( ) const
pure virtual

return the number of additional prop

Implemented in camitk::Component, and camitk::Slice.

◆ getNumberOfSlices()

virtual int camitk::InterfaceBitMap::getNumberOfSlices ( ) const
pure virtual

Return the number of slices in the image data set.

Implemented in camitk::Slice, camitk::Component, camitk::ImageComponent, and camitk::ArbitrarySingleImageComponent.

◆ getPickPlaneActor()

virtual vtkSmartPointer<vtkActor> camitk::InterfaceBitMap::getPickPlaneActor ( ) const
pure virtual

Return the vtkActor used to pick pixels in the slices.

Implemented in camitk::Slice.

Referenced by camitk::InteractiveViewer::refresh().

+ Here is the caller graph for this function:

◆ getPixelActor()

virtual vtkSmartPointer<vtkActor> camitk::InterfaceBitMap::getPixelActor ( )
pure virtual

Return the vtkActor used to pick pixels in the slices.

Implemented in camitk::Slice.

◆ getProp() [1/2]

virtual vtkSmartPointer<vtkProp> camitk::InterfaceBitMap::getProp ( const QString &  )
pure virtual

Return the vtkProp (actors, volumes and annotations) corresponding to the given name.

Implemented in camitk::Component, and camitk::Slice.

◆ getProp() [2/2]

virtual vtkSmartPointer<vtkProp> camitk::InterfaceBitMap::getProp ( unsigned int  )
pure virtual

return an additional prop by its index

Implemented in camitk::Slice, and camitk::Component.

◆ getSlice()

virtual int camitk::InterfaceBitMap::getSlice ( ) const
pure virtual

Return the index of the current displayed slice.

Implemented in camitk::Component, camitk::Slice, and camitk::ArbitrarySingleImageComponent.

◆ pixelPicked()

virtual void camitk::InterfaceBitMap::pixelPicked ( double  ,
double  ,
double   
)
pure virtual

This method is called when the associated plane has been picked in the InteractiveViewer, the given coordinates is position where the plane was picked.

Implemented in camitk::Slice, camitk::ArbitrarySingleImageComponent, camitk::SingleImageComponent, and camitk::ImageComponent.

◆ removeProp()

virtual bool camitk::InterfaceBitMap::removeProp ( const QString &  )
pure virtual

remove a given additional prop.

Returns
true if effictively done

Implemented in camitk::Component, and camitk::Slice.

◆ setArbitraryTransform()

virtual void camitk::InterfaceBitMap::setArbitraryTransform ( vtkSmartPointer< vtkTransform >  )
pure virtual

Set the pointer to the image transformation.

this should be done once, at initialization, using the frame transformation (getTransform)

Implemented in camitk::Slice.

◆ setImageWorldTransform()

virtual void camitk::InterfaceBitMap::setImageWorldTransform ( vtkSmartPointer< vtkTransform >  )
pure virtual

set the transformation for 3D image representation

Implemented in camitk::Slice.

◆ setOriginalVolume()

virtual void camitk::InterfaceBitMap::setOriginalVolume ( vtkSmartPointer< vtkImageData >  )
pure virtual

set the original volume image data (the source vtkImageData before any reslice) and refresh the vtk pipeline

Implemented in camitk::Slice.

◆ setPixelRealPosition()

virtual void camitk::InterfaceBitMap::setPixelRealPosition ( double  ,
double  ,
double   
)
pure virtual

move the pixel selection green indicator (pixelActor) to the given real position

Implemented in camitk::Slice.

◆ setSlice() [1/2]

virtual void camitk::InterfaceBitMap::setSlice ( double  x,
double  y,
double  z 
)
pure virtual

Set the slice corresponding to the given image coordinates (in RAI convention)

Implemented in camitk::ArbitrarySingleImageComponent, and camitk::Slice.

◆ setSlice() [2/2]

virtual void camitk::InterfaceBitMap::setSlice ( int  s)
pure virtual

Set the current slice index.

If the slice index is less than the first slice index, the first slice is displayed. If the slice index is more than the last slice index, the last slice is displayed.

Parameters
sthe index of the slice to display (base 0).

Implemented in camitk::ArbitrarySingleImageComponent, and camitk::Slice.

◆ updatePickPlane()

virtual void camitk::InterfaceBitMap::updatePickPlane ( )
pure virtual

update the position of the plane surrounding the currently selected slice

Implemented in camitk::Slice.


The documentation for this class was generated from the following file: