Computer Assited Medical Intervention Tool Kit  version 3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
DicomImageComponent Class Reference

DICOM image Component which handle a single DICOM image. More...

#include <DicomImageComponent.h>

+ Inheritance diagram for DicomImageComponent:

Public Member Functions

 DicomImageComponent (const QString &path) throw (camitk::AbortException)
 Create a new Component that handles DICOM image. More...
 
virtual ~DicomImageComponent ()
 Default Destructor. More...
 
- Public Member Functions inherited from camitk::ImageComponent
SingleImageComponentgetArbitrarySlices ()
 Returns the arbitrary slice. More...
 
SingleImageComponentgetAxialSlices ()
 Returns the axial slice. More...
 
SingleImageComponentgetCoronalSlices ()
 Returns the coronal slice. More...
 
QString getDataType () const
 
vtkSmartPointer< vtkImageData > getImageData ()
 get the image volume managed by this Component More...
 
QString getImageName () const
 getter/setter for the property More...
 
QVector3D getImageOrigin () const
 
QVariantMap getImageSize () const
 property getters More...
 
void getLastPixelPicked (int *x, int *y, int *z)
 Get the last pixel picked using CTRL + LEFT/RIGHT CLICK. More...
 
virtual vtkSmartPointer
< vtkWindowLevelLookupTable > 
getLut ()
 get the current lookup table More...
 
double getMaxColor () const
 Max possible gray level of the image given its data type. More...
 
double getMinColor () const
 Min possible gray level of the image given its data type. More...
 
int getNumberOfColors () const
 Number of colors: number of possible gray levels in the image computed from the min and the max of the data type ; e.g. More...
 
int getNumberOfSlices () const
 Number of axial slices (i.e. More...
 
SingleImageComponentgetSagittalSlices ()
 Returns the sagittal slice. More...
 
bool getViewIn3D () const
 
MeshComponentgetVolumeRenderingChild ()
 Returns the MeshComponent which will contain the volume rendering actor. More...
 
QVector3D getVoxelSize () const
 
 ImageComponent (const QString &file) throw (AbortException)
 constructor More...
 
 ImageComponent (vtkSmartPointer< vtkImageData > anImageData, const QString &name, bool copy=false) throw (AbortException)
 Creates an ImageComponent from a vtkImageData. More...
 
void pixelPicked (double x, double y, double z, SingleImageComponent *whoIsAsking)
 Method called when a pixel has been picked in the 3D view. More...
 
virtual void refresh () const
 force refresh of all interactive viewers that are displayng sub-components as ImageComponent is not itself displayed by any viewer More...
 
virtual void replaceImageData (vtkSmartPointer< vtkImageData > anImageData, bool copy=false)
 Replaces the current image volume by the one given in parameters If copy is set to true, performs a deep copy before replacing the image If copy is set to false, only takes the smart pointer as input. More...
 
void setImageName (const QString &)
 
virtual void setLut (vtkSmartPointer< vtkWindowLevelLookupTable > lookupTable)
 Update the lookup table of the image viewer (see InterfaceBitMap). More...
 
virtual void setSelected (const bool b, const bool recursive=false)
 set selected will select all the Image components (axial, sagittal and coronal). More...
 
void setViewIn3D (bool)
 
 ~ImageComponent ()
 Destructor. More...
 
- Public Member Functions inherited from camitk::Component
 Component (const QString &file, const QString &name, Representation rep=NO_REPRESENTATION)
 Component constructor for top-level component (please use the other constructor for sub-level components). More...
 
 Component (Component *parentComponent, const QString &name, Representation rep=NO_REPRESENTATION) throw (AbortException)
 Component constructor for a Component that is a child of another Component You should not use this constructor for a top-level component. More...
 
virtual ~Component ()
 default destructor More...
 
Representation getRepresentation () const
 return the type of representation concretely implemented by this Component in the InteractiveViewer. More...
 
bool isTopLevel () const
 return true if this component is a top-level component More...
 
virtual ComponentgetParentComponent ()
 get the parent component More...
 
virtual ComponentgetTopLevelComponent ()
 get the top-level component More...
 
virtual void setModified (bool modified=true)
 set the modified flag More...
 
virtual bool getModified () const
 set the modified flag More...
 
virtual void setVisibility (Viewer *, bool)
 set the visibility for a viewer More...
 
virtual bool getVisibility (Viewer *) const
 get the visibility of a viewer More...
 
virtual void refreshInterfaceNode ()
 Asks all viewers that are currently displaying this Component to rebuild the representation of the InterfaceNode for this Component. More...
 
virtual bool isSelected () const
 Check if this data component is selected. More...
 
const QString getFileName () const
 get the file name where the data have to be stored/were stored More...
 
void setFileName (const QString &)
 set the file name where the data have to be stored More...
 
bool event (QEvent *e)
 Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor). More...
 
QMenu * getActionAndPopupMenu ()
 Get a QMenu that contains all the action that can be applied to this component + the popup menu (if exists). More...
 
QStringList getHierarchy ()
 
bool isInstanceOf (QString className)
 Assert that a Component instance really inherits from a given className. More...
 
virtual unsigned int getNumberOfPropertyWidget ()
 get the number of alternative property widgets More...
 
virtual QWidget * getPropertyWidgetAt (unsigned int i, QWidget *parent=0)
 Get the ith alternative property widget. More...
 
virtual QObject * getPropertyObject ()
 Get the property object that could be understood by PropertyEditor. More...
 
void updateProperty (QString name, QVariant value)
 update property: if you override this method, do not forget to call the superclass method for the property not managed locally in order to properly manage all inherited dynamic properties. More...
 
virtual Q_INVOKABLE PropertygetProperty (QString name)
 Get a Property given its name. More...
 
virtual bool addProperty (Property *)
 Add a new CamiTK property to the component. More...
 
virtual void addChild (InterfaceNode *)
 add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance More...
 
virtual void attachChild (InterfaceNode *)
 add a child Component (but leave its parent unchanged) More...
 
virtual void removeChild (InterfaceNode *)
 remove from the the sub item vector. More...
 
virtual void setParent (InterfaceNode *)
 set the parent Component. This method automatically remove this Component from its previous (if already had one parent Component) More...
 
virtual void deleteChildren ()
 delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that) More...
 
virtual QString getName () const
 get the name to be displayed More...
 
virtual void setName (const QString &)
 set the name to be displayed More...
 
virtual const ComponentListgetChildren ()
 get the list of the InterfaceNode children (sub items in the hierarchy) More...
 
virtual bool doubleClicked ()
 this method is called each time the InterfaceNode is double clicked by the user. More...
 
virtual InterfaceNodegetParent ()
 get the parent Component More...
 
virtual QPixmap getIcon ()
 Get the pixmap that will be displayed for this node. More...
 
virtual bool inItalic () const
 A component name is not displayed in italic by default. More...
 
virtual QMenu * getPopupMenu (QWidget *parent=0)
 get the popup menu to display (always return NULL, overwrite this method if you want to give here you own popup) More...
 
const QString getLabel () const
 
void setLabel (QString newName)
 set the string used to display the label, do the same as setName More...
 
 delegateGet0 (myGeometry, getPointSet, vtkSmartPointer< vtkPointSet >) delegate1(myGeometry
 
vtkSmartPointer< vtkPointSet > delegate1 (myGeometry, setPointData, vtkSmartPointer< vtkDataArray >) delegateConstGet0(myGeometry
 
vtkSmartPointer< vtkPointSet >
vtkSmartPointer
< vtkAlgorithmOutput > 
delegate1 (myGeometry, setDataConnection, vtkSmartPointer< vtkAlgorithmOutput >) delegateGet1(myGeometry
 
vtkSmartPointer< vtkPointSet >
vtkSmartPointer
< vtkAlgorithmOutput > const
virtual RenderingModes
vtkSmartPointer< vtkProp > 
getProp (const QString &param)
 Return the vtkProp (actors, volumes and annotations) corresponding to the given name. More...
 
virtual unsigned int getNumberOfProp () const
 return the number of additional prop More...
 
virtual vtkSmartPointer< vtkProp > getProp (unsigned int index)
 return an additional prop by its index More...
 
virtual bool addProp (const QString &name, vtkSmartPointer< vtkProp > prop)
 insert an additional prop, defining it by its name (default visibility = false) More...
 
virtual bool removeProp (const QString &name)
 remove a given additional prop. More...
 
virtual void pointPicked (vtkIdType, bool)
 an inherited class can redefine this method something specific. More...
 
virtual void cellPicked (vtkIdType, bool)
 an inherited class can redefine this method something specific. More...
 
virtual void getBounds (double *bounds)
 compute the object's bounding box [xmin,xmax, ymin,ymax, zmin,zmax], see Component.cpp More...
 
virtual double getBoundingRadius ()
 compute the object's bounding sphere radius, More...
 
 delegate4 (myGeometry, setPointPosition, const unsigned int, const double, const double, const double)
 
 delegateAndInvokeChildren1 (myGeometry, setRenderingModes, const RenderingModes)
 
virtual const
InterfaceGeometry::RenderingModes 
getRenderingModes () const
 see Component.cpp More...
 
 delegateAndInvokeChildren1 (myGeometry, setEnhancedModes, const EnhancedModes) delegateConstGet0(myGeometry
 
const EnhancedModes delegateAndInvokeChildren1Array (myGeometry, setActorColor, const RenderingModes, double, 4) delegateAndInvokeChildren4(myGeometry
 
const EnhancedModes const
const const const virtual
double void 
getActorColor (const RenderingModes, double[4])
 see Component.cpp More...
 
 delegateAndInvokeChildren3 (myGeometry, setColor, const double, const double, const double) delegateAndInvokeChildren4(myGeometry
 
const const const const double delegateAndInvokeChildren2 (myGeometry, setActorOpacity, const RenderingModes, const double) delegateConstGet1(myGeometry
 
const const const const double
const RenderingModes 
delegateAndInvokeChildren1 (myGeometry, setOpacity, const double) delegate2(myGeometry
 
const const const const double
const RenderingModes double 
delegate1 (myGeometry, setTexture, vtkSmartPointer< vtkTexture >) virtual void setGlyphType(const GlyphTypes type
 
 delegate1 (myGeometry, setLinesAsTubes, bool)
 
 delegateConstGet0 (mySlice, getImageData, vtkSmartPointer< vtkImageData >) delegate1(mySlice
 
vtkSmartPointer< vtkImageData > delegateConstGet0 (mySlice, get2DImageActor, vtkSmartPointer< vtkImageActor >) delegateConstGet0(mySlice
 
vtkSmartPointer< vtkImageData >
vtkSmartPointer
< vtkImageActor > 
delegateConstGet0 (mySlice, getPickPlaneActor, vtkSmartPointer< vtkActor >) delegateGet0(mySlice
 
vtkSmartPointer< vtkImageData >
vtkSmartPointer
< vtkImageActor >
vtkSmartPointer< vtkActor > 
delegate3 (mySlice, pixelPicked, double, double, double) delegate0(mySlice
 
vtkSmartPointer< vtkImageData >
vtkSmartPointer
< vtkImageActor >
vtkSmartPointer< vtkActor >
updatePickPlane 
delegate1 (mySlice, setSlice, int)
 
 delegate3 (mySlice, setSlice, double, double, double)
 
 delegate1 (mySlice, setRotationX, double) delegate1(mySlice
 
double delegate1 (mySlice, setRotationZ, double) delegateConstGet0(mySlice
 
double int delegate3 (mySlice, setPixelRealPosition, double, double, double)
 
virtual double getRotationX () const
 see Component.cpp More...
 
virtual double getRotationY () const
 see Component.cpp More...
 
virtual double getRotationZ () const
 see Component.cpp More...
 
virtual int getSlice () const
 see Component.cpp More...
 
- Public Member Functions inherited from camitk::InterfaceProperty
virtual ~InterfaceProperty ()
 empty virtual destructor, to avoid memory leak More...
 
- Public Member Functions inherited from camitk::InterfaceNode
virtual ~InterfaceNode ()
 empty virtual destructor, to avoid memory leak More...
 
- Public Member Functions inherited from camitk::InterfaceGeometry
virtual ~InterfaceGeometry ()
 empty virtual destructor, to avoid memory leak More...
 
virtual vtkSmartPointer
< vtkPointSet > 
getPointSet ()=0
 
virtual void setPointSet (vtkSmartPointer< vtkPointSet >)=0
 set the low-level data set. More...
 
virtual void setPointData (vtkSmartPointer< vtkDataArray >)=0
 set the point data (may contains a lookup table). More...
 
virtual vtkSmartPointer
< vtkAlgorithmOutput > 
getDataPort () const =0
 get the custom algorithm pipeline input. More...
 
virtual void setDataConnection (vtkSmartPointer< vtkAlgorithmOutput >)=0
 Set/reset the connection for the InterfaceGeometry internal algorithm. More...
 
virtual vtkSmartPointer< vtkActor > getActor (const RenderingModes)=0
 Return the actor for the representation mode, NULL if the actor doesn't exist. More...
 
virtual void setTexture (vtkSmartPointer< vtkTexture >)=0
 Set a texture to this object. More...
 
virtual void setPointPosition (const unsigned int orderNumber, const double x, const double y, const double z)=0
 set a given point position More...
 
virtual void setRenderingModes (const RenderingModes)=0
 
virtual void setEnhancedModes (const EnhancedModes)=0
 set the enhanced mode More...
 
virtual const EnhancedModes getEnhancedModes () const =0
 get the current enhanced mode More...
 
virtual void setActorColor (const RenderingModes, double *color)=0
 Set the color of given representation modes. More...
 
virtual void setActorColor (const RenderingModes, const double, const double, const double)=0
 Set the color of given representation modes. More...
 
virtual void getActorColor (const RenderingModes, double *color)=0
 Get the color of given representation modes in the second parameter. More...
 
virtual void setColor (const double, const double, const double)=0
 Set an (r,g,b) color to all representation modes, without changing the opacity. More...
 
virtual void setColor (const double, const double, const double, const double)=0
 Set an (r,g,b,a) color to all representation modes. More...
 
virtual void setActorOpacity (const RenderingModes, const double)=0
 Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual double getActorOpacity (const RenderingModes) const =0
 Return the opacity of a given renderng mode. More...
 
virtual void setOpacity (const double)=0
 Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! More...
 
virtual void setMapperScalarRange (double min, double max)=0
 Set the mapper scalar range. More...
 
virtual void setGlyphType (const GlyphTypes type, const double size=0.0)=0
 Set the glyph type (a glyph is a geometric representation attached to every point in the input dataset). More...
 
virtual void setLinesAsTubes (bool)=0
 set the lines as tubes (works only for vtkDataSet representation that contains lines) More...
 
- Public Member Functions inherited from camitk::InterfaceBitMap
virtual vtkSmartPointer
< vtkImageActor > 
get2DImageActor () const =0
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. More...
 
virtual vtkSmartPointer
< vtkImageActor > 
get3DImageActor () const =0
 Return the vtkImageActor (vtkProp) representing a slice to be displayed in 2D. More...
 
virtual vtkSmartPointer
< vtkImageData > 
getImageData () const =0
 Return the displayed images as a vtkImageData. 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 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 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 setRotationX (double angle)=0
 Set the current angle to the arbitrary slice. More...
 
virtual void setRotationY (double angle)=0
 
virtual void setRotationZ (double angle)=0
 
virtual void setSlice (int s)=0
 Set the current slice index. More...
 
virtual void setSlice (double x, double y, double z)=0
 Set the slice corresponding to the given world coordinates. More...
 
virtual void updatePickPlane ()=0
 
virtual ~InterfaceBitMap ()
 virtual destructor More...
 

Additional Inherited Members

- Public Types inherited from camitk::ImageComponent
enum  MedicalDataOrigin {
  RAI_X, RAI_Y, RAI_Z, LAI_X,
  LAI_Y, LAI_Z, RPI_X, RPI_Y,
  RPI_Z, LPI_X, LPI_Y, LPI_Z,
  RAS_X, RAS_Y, RAS_Z, LAS_X,
  LAS_Y, LAS_Z, RPS_X, RPS_Y,
  RPS_Z, LPS_X, LPS_Y, LPS_Z
}
 : There is no convension concerning the origin of the data. More...
 
- Public Types inherited from camitk::Component
enum  Representation { GEOMETRY, SLICE, NO_REPRESENTATION }
 The different representation that can be implemented to represent this Component in the InteractiveViewer. More...
 
- Public Types inherited from camitk::InterfaceGeometry
enum  EnhancedMode { Normal = 0x0, Hidden = 0x1, Shaded = 0x2, Highlighted = 0x4 }
 (and QFlags EnhancedModes) handle the way the rendering actors will be enhanced or not (from completely hidden to highlighted) More...
 
enum  GlyphType { NoGlyph = 0x0, Sphere = 0x1 }
 (and QFlags GlyphTypes) is the type of glyph attached to the geometry representation More...
 
enum  RenderingMode { None = 0x0, Surface = 0x1, Wireframe = 0x2, Points = 0x4 }
 (and QFlags RenderingModes) handle actor rendering options (render this InterfaceGeometry as a surface, a wireframe and set of points). More...
 
- Public Types inherited from camitk::InterfaceBitMap
enum  PossibleOrientation { AXIAL_ORIENTATION, CORONAL_ORIENTATION, SAGITTAL_ORIENTATION, ARBITRARY_ORIENTATION }
 Common slices orientation: axial, sagittal, coronal or anything else. More...
 
- Public Attributes inherited from camitk::Component
 setPointSet
 
vtkSmartPointer< vtkPointSet > getDataPort
 
vtkSmartPointer< vtkPointSet >
vtkSmartPointer
< vtkAlgorithmOutput > 
getActor
 
vtkSmartPointer< vtkPointSet >
vtkSmartPointer
< vtkAlgorithmOutput > 
vtkSmartPointer< vtkActor >
 
 getEnhancedModes
 
const EnhancedModes setActorColor
 
const EnhancedModes const RenderingModes
 
const EnhancedModes const const double
 
const EnhancedModes const
const const 
double
 
 setColor
 
const double
 
const const double
 
const const const double
 
const const const const double getActorOpacity
 
const const const const double double
 
const const const const double
const RenderingModes 
setMapperScalarRange
 
const const const const double
const RenderingModes 
double
 
const const const const double
const RenderingModes double
const double 
size = 0.0)
 
 setOriginalVolume
 
vtkSmartPointer< vtkImageData > get3DImageActor
 
vtkSmartPointer< vtkImageData >
vtkSmartPointer
< vtkImageActor > 
getPixelActor
 
 setRotationY
 
double getNumberOfColors
 
- Public Attributes inherited from camitk::InterfaceBitMap
QMap< QString, vtkSmartPointer
< vtkProp > > 
extraProp
 The additional map for prop (include at least "label" and "glyph". More...
 
- Protected Member Functions inherited from camitk::ImageComponent
virtual void setImageData (vtkSmartPointer< vtkImageData > anImageData, bool copy)
 
- Protected Attributes inherited from camitk::Component
ComponentList childrenComponent
 The explorer sub items. More...
 
bool isSelectedFlag
 tells if this particular Component is selected or not More...
 
bool modifiedFlag
 the modificatio flag (could be extended to manage a undo/redo list) More...
 
QString myFileName
 the file name from which the Component is loaded More...
 
InterfaceGeometrymyGeometry
 myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) More...
 
InterfaceNodemyParentNode
 who is the boss? The Component! More...
 
InterfaceBitMapmySlice
 mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern) More...
 
- Properties inherited from camitk::ImageComponent
QString imageName
 The name of the image in the explorer. More...
 
QVariantMap imageSize
 the number of voxels in X, Y and Z direction More...
 
QString imageType
 the type of data (uchar, short, ulong, ...) More...
 
QVector3D origin
 The 3D position of the image origin (X, Y, Z) More...
 
bool viewIn3D
 Set Axial, Coronal and Sagittal Slices visible in 3D. More...
 
QVector3D voxelSize
 The size of voxels in X, Y and Z direction (in mm) More...
 

Detailed Description

DICOM image Component which handle a single DICOM image.

DICOM image is assumed to be of file type .dcm.

Note
This Component requires the GDCM library in order to work correctly.

Constructor & Destructor Documentation

DicomImageComponent::DicomImageComponent ( const QString &  path)
throw (camitk::AbortException
)

Create a new Component that handles DICOM image.

Parameters
paththe path to a .dcm image file.
virtual DicomImageComponent::~DicomImageComponent ( )
virtual

Default Destructor.


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