CustusX  15.4.0-beta
An IGT application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 clipPlanesChanged ()
 
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...
 

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 void setCropping (bool on)
 
virtual bool getCropping () const
 
virtual void setCroppingBox (const DoubleBoundingBox3D &bb_d)
 
virtual DoubleBoundingBox3D getCroppingBox () const
 
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 mergevtkSettingsIntosscTransform ()
 
void resetTransferFunctions (bool _2D=true, bool _3D=true)
 Resets the transfer functions and creates new defaut 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 setInterpolationTypeToNearest ()
 
void setInterpolationTypeToLinear ()
 
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 ()
 
- 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)
 
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 QString getFilename () const
 
virtual void setFilename (QString val)
 
virtual QString getSpace ()
 
virtual QString getParentSpace ()
 
virtual CoordinateSystem getCoordinateSystem ()
 

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...
 
std::vector< vtkPlanePtrmPersistentClipPlanes
 
vtkPlanePtr mInteractiveClipPlane
 
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
 
QDateTime mAcquisitionTime
 
LandmarksPtr mLandmarks
 
REGISTRATION_STATUS mRegistrationStatus
 
RegistrationHistoryPtr m_rMd_History
 

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::addPersistentClipPlane ( vtkPlanePtr  plane)
virtual

Definition at line 721 of file cxImage.cpp.

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 469 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 360 of file cxImage.cpp.

void cx::Image::clearPersistentClipPlanes ( )
virtual

Definition at line 737 of file cxImage.cpp.

void cx::Image::clipPlanesChanged ( )
signal
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 811 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 299 of file cxImage.cpp.

std::vector< vtkPlanePtr > cx::Image::getAllClipPlanes ( )
virtual

Definition at line 729 of file cxImage.cpp.

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

Definition at line 355 of file cxImage.cpp.

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

Definition at line 700 of file cxImage.cpp.

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

Definition at line 713 of file cxImage.cpp.

vtkImageDataPtr cx::Image::getGrayScaleVtkImageData ( )
virtual

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

Definition at line 306 of file cxImage.cpp.

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

Definition at line 372 of file cxImage.cpp.

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

Reimplemented in cx::UnsignedDerivedImage.

Definition at line 800 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 856 of file cxImage.cpp.

ImageLUT2DPtr cx::Image::getLookupTable2D ( )
virtual

Definition at line 336 of file cxImage.cpp.

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

Definition at line 414 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 789 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 677 of file cxImage.cpp.

double cx::Image::getShadingAmbient ( )
virtual

Get shading ambient parmeter.

Definition at line 657 of file cxImage.cpp.

double cx::Image::getShadingDiffuse ( )
virtual

Get shading diffuse parmeter.

Definition at line 662 of file cxImage.cpp.

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

Definition at line 626 of file cxImage.cpp.

double cx::Image::getShadingSpecular ( )
virtual

Get shading specular parmeter.

Definition at line 667 of file cxImage.cpp.

double cx::Image::getShadingSpecularPower ( )
virtual

Get shading specular power parmeter.

Definition at line 672 of file cxImage.cpp.

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

Definition at line 367 of file cxImage.cpp.

ImageTF3DPtr cx::Image::getTransferFunctions3D ( )
virtual

Definition at line 317 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.

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::load ( QString  path)
virtual

Implements cx::Data.

Definition at line 535 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 761 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 542 of file cxImage.cpp.

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

Definition at line 863 of file cxImage.cpp.

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

Resets the transfer functions and creates new defaut values.

Definition at line 210 of file cxImage.cpp.

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

Implements cx::Data.

Definition at line 911 of file cxImage.cpp.

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

Definition at line 689 of file cxImage.cpp.

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

Definition at line 705 of file cxImage.cpp.

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

Definition at line 805 of file cxImage.cpp.

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

Definition at line 614 of file cxImage.cpp.

void cx::Image::setInteractiveClipPlane ( vtkPlanePtr  plane)
virtual

set a plane that is not saved

Definition at line 743 of file cxImage.cpp.

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

Definition at line 849 of file cxImage.cpp.

void cx::Image::setInterpolationTypeToLinear ( )

Definition at line 845 of file cxImage.cpp.

void cx::Image::setInterpolationTypeToNearest ( )

Definition at line 841 of file cxImage.cpp.

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

Definition at line 350 of file cxImage.cpp.

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

Definition at line 794 of file cxImage.cpp.

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

Definition at line 682 of file cxImage.cpp.

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

Set shading ambient parmeter.

Definition at line 633 of file cxImage.cpp.

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

Set shading diffuse parmeter.

Definition at line 639 of file cxImage.cpp.

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

Definition at line 620 of file cxImage.cpp.

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

Set shading specular parmeter.

Definition at line 645 of file cxImage.cpp.

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

Set shading specular power parmeter.

Definition at line 651 of file cxImage.cpp.

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

Definition at line 331 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 920 of file cxImage.cpp.

void cx::Image::stopThresholdPreview ( )

Definition at line 974 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 194 of file cxImage.h.

vtkImageDataPtr cx::Image::mBaseImageData
protected

image data in data space

Definition at line 193 of file cxImage.h.

DoubleBoundingBox3D cx::Image::mCroppingBox_d
protected

box defining the cropping size.

Definition at line 206 of file cxImage.h.

vtkImageAccumulatePtr cx::Image::mHistogramPtr
protected

Histogram.

Definition at line 198 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 210 of file cxImage.h.

vtkPlanePtr cx::Image::mInteractiveClipPlane
protected

Definition at line 208 of file cxImage.h.

int cx::Image::mInterpolationType
protected

mirror the interpolationType in vtkVolumeProperty

Definition at line 212 of file cxImage.h.

double cx::Image::mMaxRGBIntensity
protected

Definition at line 211 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 209 of file cxImage.h.

std::vector<vtkPlanePtr> cx::Image::mPersistentClipPlanes
protected

Definition at line 207 of file cxImage.h.

ShadingStruct cx::Image::mShading
protected

Definition at line 203 of file cxImage.h.

ImagePtr cx::Image::mUnsigned
protected

version of this containing unsigned data.

Definition at line 199 of file cxImage.h.

bool cx::Image::mUseCropping
protected

image should be cropped using mCroppingBox

Definition at line 205 of file cxImage.h.


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