Fraxinus  17.12-rc4
An IGT application
cx::Image Class Reference

A volumetric data set. More...

#include <cxImage.h>

Inheritance diagram for cx::Image:
cx::Data cx::NavigatedVideoImage cx::UnsignedDerivedImage

Classes

struct  ShadingStruct
 

Signals

void vtkImageDataChanged ()
 emitted when the vktimagedata are invalidated and must be retrieved anew. More...
 
void transferFunctionsChanged ()
 emitted when image transfer functions in 2D or 3D are changed. More...
 
void cropBoxChanged ()
 
- Signals inherited from cx::Data
void transformChanged ()
 emitted when transform is changed More...
 
void propertiesChanged ()
 emitted when one of the metadata properties (uid, name etc) changes More...
 
void clipPlanesChanged ()
 

Public Member Functions

ImagePtr copy ()
 
virtual ~Image ()
 
 Image (const QString &uid, const vtkImageDataPtr &data, const QString &name="")
 
virtual void intitializeFromParentImage (ImagePtr parentImage)
 
virtual void setVtkImageData (const vtkImageDataPtr &data, bool resetTransferFunctions=true)
 
virtual vtkImageDataPtr getBaseVtkImageData ()
 
virtual vtkImageDataPtr getGrayScaleVtkImageData ()
 as getBaseVtkImageData(), but constrained to 1 component if multicolor. More...
 
virtual vtkImageDataPtr get8bitGrayScaleVtkImageData ()
 Have never been used or tested. Create a test for it. More...
 
virtual ImagePtr getUnsigned (ImagePtr self)
 
virtual QString getModality () const
 
virtual void setModality (const QString &val)
 
virtual QString getImageType () const
 
virtual void setImageType (const QString &val)
 
virtual ImageTF3DPtr getTransferFunctions3D ()
 
virtual void setTransferFunctions3D (ImageTF3DPtr transferFuntion)
 
virtual ImageLUT2DPtr getLookupTable2D ()
 
virtual void setLookupTable2D (ImageLUT2DPtr imageLookupTable2D)
 
virtual void setInitialWindowLevel (double width, double level)
 
double getInitialWindowLevel () const
 
double getInitialWindowWidth () const
 
virtual DoubleBoundingBox3D boundingBox () const
 bounding box in image space More...
 
virtual Eigen::Array3d getSpacing () const
 
virtual vtkImageAccumulatePtr getHistogram ()
 
virtual int getMax ()
 
virtual int getMin ()
 
virtual int getRange ()
 For convenience: getMax() - getMin() More...
 
virtual int getMaxAlphaValue ()
 Max alpha value (probably 255) More...
 
virtual void setShadingOn (bool on)
 
virtual bool getShadingOn () const
 
virtual void setShadingAmbient (double ambient)
 Set shading ambient parmeter. More...
 
virtual void setShadingDiffuse (double diffuse)
 Set shading diffuse parmeter. More...
 
virtual void setShadingSpecular (double specular)
 Set shading specular parmeter. More...
 
virtual void setShadingSpecularPower (double specularPower)
 Set shading specular power parmeter. More...
 
virtual double getShadingAmbient ()
 Get shading ambient parmeter. More...
 
virtual double getShadingDiffuse ()
 Get shading diffuse parmeter. More...
 
virtual double getShadingSpecular ()
 Get shading specular parmeter. More...
 
virtual double getShadingSpecularPower ()
 Get shading specular power parmeter. More...
 
virtual Image::ShadingStruct getShading ()
 
virtual void setShading (Image::ShadingStruct shading)
 
void addXml (QDomNode &dataNode)
 adds xml information about the image and its variabels More...
 
virtual void parseXml (QDomNode &dataNode)
 Use a XML node to load data. More...
 
virtual bool load (QString path)
 
virtual QString getType () const
 
virtual QIcon getIcon ()
 
virtual void setCropping (bool on)
 
virtual bool getCropping () const
 
virtual void setCroppingBox (const DoubleBoundingBox3D &bb_d)
 
virtual DoubleBoundingBox3D getCroppingBox () const
 
void mergevtkSettingsIntosscTransform ()
 
void resetTransferFunctions (bool _2D=true, bool _3D=true)
 Resets the transfer functions and creates new default values. More...
 
void moveThisAndChildrenToThread (QThread *thread)
 Move this and all children to thread. Use the thread is generated in a worker thread and the result is to be used in the main thread. More...
 
void setInterpolationType (int val)
 
int getInterpolationType () const
 
vtkImageDataPtr resample (long maxVoxels)
 
virtual void save (const QString &basePath)
 
void startThresholdPreview (const Eigen::Vector2d &threshold)
 
void stopThresholdPreview ()
 
double getVTKMinValue ()
 
double getVTKMaxValue ()
 
bool is2D ()
 
- Public Member Functions inherited from cx::Data
 Data (const QString &uid, const QString &name="")
 
virtual ~Data ()
 
void setUid (const QString &uid)
 
void setName (const QString &name)
 
void setAcquisitionTime (QDateTime time)
 
void setSoftwareAcquisitionTime (QDateTime time)
 
void setOriginalAcquisitionTime (QDateTime time)
 
virtual RegistrationHistoryPtr get_rMd_History ()
 
LandmarksPtr getLandmarks ()
 
virtual QString getUid () const
 
virtual QString getName () const
 
virtual Transform3D get_rMd () const
 
virtual QDateTime getAcquisitionTime () const
 
virtual TimeInfo getAdvancedTimeInfo () const
 
virtual bool isEqual (DataPtr metric)
 
virtual QString getFilename () const
 
virtual void setFilename (QString val)
 
virtual QString getSpace ()
 
virtual QString getParentSpace ()
 
virtual std::vector< Vector3DgetPointCloud () const
 
virtual CoordinateSystem getCoordinateSystem ()
 
virtual void addPersistentClipPlane (vtkPlanePtr plane)
 
virtual std::vector< vtkPlanePtrgetAllClipPlanes ()
 
virtual void clearPersistentClipPlanes ()
 
virtual void setInteractiveClipPlane (vtkPlanePtr plane)
 set a plane that is not saved More...
 
void addInteractiveClipPlane (vtkPlanePtr plane)
 
void removeInteractiveClipPlane (vtkPlanePtr plane)
 

Static Public Member Functions

static ImagePtr create (const QString &uid, const QString &name)
 
static QString getTypeName ()
 
static vtkImageDataPtr createDummyImageData (int axisSize, int maxVoxelValue)
 Create a moc object of vtkImageData. More...
 

Protected Slots

virtual void transformChangedSlot ()
 
- Protected Slots inherited from cx::Data
virtual void transformChangedSlot ()
 

Protected Attributes

vtkImageDataPtr mBaseImageData
 image data in data space More...
 
vtkImageDataPtr mBaseGrayScaleImageData
 image data in data space More...
 
vtkImageAccumulatePtr mHistogramPtr
 Histogram. More...
 
ImagePtr mUnsigned
 version of this containing unsigned data. More...
 
ShadingStruct mShading
 
bool mUseCropping
 image should be cropped using mCroppingBox More...
 
DoubleBoundingBox3D mCroppingBox_d
 box defining the cropping size. More...
 
QString mModality
 modality of the image, defined as DICOM tag (0008,0060), Section 3, C.7.3.1.1.1 More...
 
QString mImageType
 type of the image, defined as DICOM tag (0008,0008) (mainly value 3, but might be a merge of value 4), Section 3, C.7.6.1.1.2 More...
 
double mMaxRGBIntensity
 
int mInterpolationType
 mirror the interpolationType in vtkVolumeProperty More...
 
- Protected Attributes inherited from cx::Data
QString mUid
 
QString mName
 
QString mFilename
 
TimeInfo mTimeInfo
 
LandmarksPtr mLandmarks
 
REGISTRATION_STATUS mRegistrationStatus
 
RegistrationHistoryPtr m_rMd_History
 
std::vector< vtkPlanePtrmPersistentClipPlanes
 
std::vector< vtkPlanePtrmInteractiveClipPlanes
 
vtkPlanePtr mInteractiveClipPlane
 

Detailed Description

A volumetric data set.

One volumetric data set, represented as a vtkImageData, along with auxiliary data.

Definition at line 66 of file cxImage.h.

Constructor & Destructor Documentation

cx::Image::~Image ( )
virtual

Definition at line 123 of file cxImage.cpp.

cx::Image::Image ( const QString &  uid,
const vtkImageDataPtr data,
const QString &  name = "" 
)

Definition at line 127 of file cxImage.cpp.

Member Function Documentation

void cx::Image::addXml ( QDomNode &  dataNode)
virtual

adds xml information about the image and its variabels

Parameters
dataNodeData node in the XML tree
Returns
The created subnode

Reimplemented from cx::Data.

Definition at line 524 of file cxImage.cpp.

DoubleBoundingBox3D cx::Image::boundingBox ( ) const
virtual

bounding box in image space

Implements cx::Data.

Reimplemented in cx::UnsignedDerivedImage.

Definition at line 361 of file cxImage.cpp.

ImagePtr cx::Image::copy ( )

Definition at line 144 of file cxImage.cpp.

ImagePtr cx::Image::create ( const QString &  uid,
const QString &  name 
)
static

Definition at line 118 of file cxImage.cpp.

vtkImageDataPtr cx::Image::createDummyImageData ( int  axisSize,
int  maxVoxelValue 
)
static

Create a moc object of vtkImageData.

Definition at line 838 of file cxImage.cpp.

void cx::Image::cropBoxChanged ( )
signal
vtkImageDataPtr cx::Image::get8bitGrayScaleVtkImageData ( )
virtual

Have never been used or tested. Create a test for it.

Definition at line 300 of file cxImage.cpp.

vtkImageDataPtr cx::Image::getBaseVtkImageData ( )
virtual
Returns
the vtkimagedata in the data coordinate space

Definition at line 356 of file cxImage.cpp.

bool cx::Image::getCropping ( ) const
virtual

Definition at line 756 of file cxImage.cpp.

DoubleBoundingBox3D cx::Image::getCroppingBox ( ) const
virtual

Definition at line 769 of file cxImage.cpp.

vtkImageDataPtr cx::Image::getGrayScaleVtkImageData ( )
virtual

as getBaseVtkImageData(), but constrained to 1 component if multicolor.

Definition at line 307 of file cxImage.cpp.

vtkImageAccumulatePtr cx::Image::getHistogram ( )
virtual
Returns
The histogram for the image

Definition at line 373 of file cxImage.cpp.

virtual QIcon cx::Image::getIcon ( )
inlinevirtual

Reimplemented from cx::Data.

Definition at line 151 of file cxImage.h.

QString cx::Image::getImageType ( ) const
virtual

Reimplemented in cx::UnsignedDerivedImage.

Definition at line 827 of file cxImage.cpp.

double cx::Image::getInitialWindowLevel ( ) const
inline

Definition at line 117 of file cxImage.h.

double cx::Image::getInitialWindowWidth ( ) const
inline

Definition at line 118 of file cxImage.h.

int cx::Image::getInterpolationType ( ) const

Definition at line 884 of file cxImage.cpp.

ImageLUT2DPtr cx::Image::getLookupTable2D ( )
virtual

Definition at line 337 of file cxImage.cpp.

int cx::Image::getMax ( )
virtual
Returns
Return highest used value in the image

Definition at line 415 of file cxImage.cpp.

int cx::Image::getMaxAlphaValue ( )
virtual

Max alpha value (probably 255)

Definition at line 464 of file cxImage.cpp.

int cx::Image::getMin ( )
virtual
Returns
Return lowest used value in the image

Definition at line 450 of file cxImage.cpp.

QString cx::Image::getModality ( ) const
virtual

Reimplemented in cx::UnsignedDerivedImage.

Definition at line 816 of file cxImage.cpp.

int cx::Image::getRange ( )
virtual

For convenience: getMax() - getMin()

Definition at line 459 of file cxImage.cpp.

Image::ShadingStruct cx::Image::getShading ( )
virtual

Definition at line 733 of file cxImage.cpp.

double cx::Image::getShadingAmbient ( )
virtual

Get shading ambient parmeter.

Definition at line 713 of file cxImage.cpp.

double cx::Image::getShadingDiffuse ( )
virtual

Get shading diffuse parmeter.

Definition at line 718 of file cxImage.cpp.

bool cx::Image::getShadingOn ( ) const
virtual

Definition at line 682 of file cxImage.cpp.

double cx::Image::getShadingSpecular ( )
virtual

Get shading specular parmeter.

Definition at line 723 of file cxImage.cpp.

double cx::Image::getShadingSpecularPower ( )
virtual

Get shading specular power parmeter.

Definition at line 728 of file cxImage.cpp.

Eigen::Array3d cx::Image::getSpacing ( ) const
virtual

Definition at line 368 of file cxImage.cpp.

ImageTF3DPtr cx::Image::getTransferFunctions3D ( )
virtual

Definition at line 318 of file cxImage.cpp.

virtual QString cx::Image::getType ( ) const
inlinevirtual

Reimplemented from cx::Data.

Reimplemented in cx::UnsignedDerivedImage.

Definition at line 143 of file cxImage.h.

static QString cx::Image::getTypeName ( )
inlinestatic

Definition at line 147 of file cxImage.h.

ImagePtr cx::Image::getUnsigned ( ImagePtr  self)
virtual

Return a version of this, containing image data and transfer functions converted to unsigned. This is used for the 3D texture slicer that doesnt handle signed data.

Definition at line 192 of file cxImage.cpp.

double cx::Image::getVTKMaxValue ( )

Definition at line 494 of file cxImage.cpp.

double cx::Image::getVTKMinValue ( )

Definition at line 469 of file cxImage.cpp.

void cx::Image::intitializeFromParentImage ( ImagePtr  parentImage)
virtual

Initialize image with properties from parent image, but with separate vtkImageData and name.

Definition at line 172 of file cxImage.cpp.

bool cx::Image::is2D ( )

Definition at line 519 of file cxImage.cpp.

bool cx::Image::load ( QString  path)
virtual

Implements cx::Data.

Definition at line 591 of file cxImage.cpp.

void cx::Image::mergevtkSettingsIntosscTransform ( )

Do the following operations on mBaseVtkImageData:

  • Reset the origin to zero.
  • Reset the extent to have its lower-left corner in zero. The shift introduced by these two operations are inserted as a translation into the matrix rMd.

This operation is needed because Image dont support vtkImageData with a nonzero origin or nonzero extent. These must be removed during creation.

Use this method only when you, by using some vtk algorithm, have created a vtkImageData that in nonconform with the Image spec.

Definition at line 788 of file cxImage.cpp.

void cx::Image::moveThisAndChildrenToThread ( QThread *  thread)

Move this and all children to thread. Use the thread is generated in a worker thread and the result is to be used in the main thread.

Definition at line 280 of file cxImage.cpp.

void cx::Image::parseXml ( QDomNode &  dataNode)
virtual

Use a XML node to load data.

Parameters
dataNodeA XML data representation of this object.

Reimplemented from cx::Data.

Definition at line 598 of file cxImage.cpp.

vtkImageDataPtr cx::Image::resample ( long  maxVoxels)

Definition at line 891 of file cxImage.cpp.

void cx::Image::resetTransferFunctions ( bool  _2D = true,
bool  _3D = true 
)

Resets the transfer functions and creates new default values.

Definition at line 210 of file cxImage.cpp.

void cx::Image::save ( const QString &  basePath)
virtual

Implements cx::Data.

Definition at line 939 of file cxImage.cpp.

void cx::Image::setCropping ( bool  on)
virtual

Definition at line 745 of file cxImage.cpp.

void cx::Image::setCroppingBox ( const DoubleBoundingBox3D bb_d)
virtual

Definition at line 761 of file cxImage.cpp.

void cx::Image::setImageType ( const QString &  val)
virtual

Definition at line 832 of file cxImage.cpp.

void cx::Image::setInitialWindowLevel ( double  width,
double  level 
)
virtual

Definition at line 670 of file cxImage.cpp.

void cx::Image::setInterpolationType ( int  val)

Definition at line 877 of file cxImage.cpp.

void cx::Image::setLookupTable2D ( ImageLUT2DPtr  imageLookupTable2D)
virtual

Definition at line 351 of file cxImage.cpp.

void cx::Image::setModality ( const QString &  val)
virtual

Definition at line 821 of file cxImage.cpp.

void cx::Image::setShading ( Image::ShadingStruct  shading)
virtual

Definition at line 738 of file cxImage.cpp.

void cx::Image::setShadingAmbient ( double  ambient)
virtual

Set shading ambient parmeter.

Definition at line 689 of file cxImage.cpp.

void cx::Image::setShadingDiffuse ( double  diffuse)
virtual

Set shading diffuse parmeter.

Definition at line 695 of file cxImage.cpp.

void cx::Image::setShadingOn ( bool  on)
virtual

Definition at line 676 of file cxImage.cpp.

void cx::Image::setShadingSpecular ( double  specular)
virtual

Set shading specular parmeter.

Definition at line 701 of file cxImage.cpp.

void cx::Image::setShadingSpecularPower ( double  specularPower)
virtual

Set shading specular power parmeter.

Definition at line 707 of file cxImage.cpp.

void cx::Image::setTransferFunctions3D ( ImageTF3DPtr  transferFuntion)
virtual

Definition at line 332 of file cxImage.cpp.

void cx::Image::setVtkImageData ( const vtkImageDataPtr data,
bool  resetTransferFunctions = true 
)
virtual

Definition at line 289 of file cxImage.cpp.

void cx::Image::startThresholdPreview ( const Eigen::Vector2d &  threshold)

Definition at line 948 of file cxImage.cpp.

void cx::Image::stopThresholdPreview ( )

Definition at line 1002 of file cxImage.cpp.

void cx::Image::transferFunctionsChanged ( )
signal

emitted when image transfer functions in 2D or 3D are changed.

void cx::Image::transformChangedSlot ( )
protectedvirtualslot

Definition at line 276 of file cxImage.cpp.

void cx::Image::vtkImageDataChanged ( )
signal

emitted when the vktimagedata are invalidated and must be retrieved anew.

Member Data Documentation

vtkImageDataPtr cx::Image::mBaseGrayScaleImageData
protected

image data in data space

Definition at line 191 of file cxImage.h.

vtkImageDataPtr cx::Image::mBaseImageData
protected

image data in data space

Definition at line 190 of file cxImage.h.

DoubleBoundingBox3D cx::Image::mCroppingBox_d
protected

box defining the cropping size.

Definition at line 203 of file cxImage.h.

vtkImageAccumulatePtr cx::Image::mHistogramPtr
protected

Histogram.

Definition at line 195 of file cxImage.h.

QString cx::Image::mImageType
protected

type of the image, defined as DICOM tag (0008,0008) (mainly value 3, but might be a merge of value 4), Section 3, C.7.6.1.1.2

Definition at line 206 of file cxImage.h.

int cx::Image::mInterpolationType
protected

mirror the interpolationType in vtkVolumeProperty

Definition at line 208 of file cxImage.h.

double cx::Image::mMaxRGBIntensity
protected

Definition at line 207 of file cxImage.h.

QString cx::Image::mModality
protected

modality of the image, defined as DICOM tag (0008,0060), Section 3, C.7.3.1.1.1

Definition at line 205 of file cxImage.h.

ShadingStruct cx::Image::mShading
protected

Definition at line 200 of file cxImage.h.

ImagePtr cx::Image::mUnsigned
protected

version of this containing unsigned data.

Definition at line 196 of file cxImage.h.

bool cx::Image::mUseCropping
protected

image should be cropped using mCroppingBox

Definition at line 202 of file cxImage.h.


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