26 #ifndef IMAGE_COMPONENT_H
27 #define IMAGE_COMPONENT_H
35 #include <vtkPolyData.h>
36 #include <vtkSmartPointer.h>
37 #include <vtkImageData.h>
38 #include <vtkTransform.h>
39 #include <vtkImageFlip.h>
40 #include <vtkWindowLevelLookupTable.h>
41 #include <vtkMatrix4x4.h>
49 class QStandardItemModel;
95 virtual void setSelected(
const bool b,
const bool recursive =
false );
98 QString getImageName()
const;
99 void setImageName(
const QString& );
103 return originalImageData;
108 return initialOrientation;
114 void prepareForSaving();
129 void getLastPixelPicked(
int * x,
int * y,
int * z );
133 void getLastPointPickedImageCoords(
double * x,
double * y,
double * z );
137 void getLastPointPickedWorldCoords(
double * x,
double * y,
double * z );
144 int getNumberOfColors()
const;
147 double getMinColor()
const;
150 double getMaxColor()
const;
155 int getActualNumberOfColors()
const;
158 double getActualMinColor()
const;
161 double getActualMaxColor()
const;
164 int getNumberOfSlices()
const;
167 virtual void setLut( vtkSmartPointer<vtkWindowLevelLookupTable> lookupTable );
170 virtual vtkSmartPointer<vtkWindowLevelLookupTable> getLut();
174 virtual void refresh()
const;
199 QVariantMap getImageSize()
const;
201 QString getDataType()
const;
202 QVector3D getVoxelSize()
const;
203 QVector3D getImageOrigin()
const;
204 bool getViewIn3D()
const;
205 void setViewIn3D(
bool );
213 virtual void updateProperty( QString, QVariant );
218 virtual unsigned int getNumberOfPropertyWidget();
221 virtual QWidget * getPropertyWidgetAt(
unsigned int i, QWidget* parent = 0 );
235 virtual void setImageData( vtkSmartPointer<vtkImageData> anImageData,
238 vtkSmartPointer<vtkMatrix4x4> initialTransformMatrix = NULL);
250 virtual void updateImageProperties();
258 void initLookupTable();
261 void buildImageComponents();
263 void updateImageComponents();
267 vtkSmartPointer<vtkPolyData> getBoundingBox();
282 vtkSmartPointer<vtkWindowLevelLookupTable>
lut;
285 double currentPixelPicked[3];
330 #endif //IMAGE_COMPONENT_H
void init()
Definition: obj2pml.cpp:213
SingleImageComponent * sagittalSlices
Definition: ImageComponent.h:273
QTableView * selectionView
Tab displaying data selected point in the property explorer.
Definition: ImageComponent.h:304
Exception class to handle abortion in component instanciation.
Definition: AbortException.h:43
ImageOrientationHelper::PossibleImageOrientations getInitialOrientation() const
Get the initial image orientation.
Definition: ImageComponent.h:107
vtkSmartPointer< vtkTransform > initialFrameTransform
The initial frame of the image at opening.
Definition: ImageComponent.h:321
QStandardItemModel * model
Model to display data.
Definition: ImageComponent.h:307
MeshComponent * volumeRenderingChild
When an action computes volume rendering for an image, it stores the corresponding actor as a prop of...
Definition: ImageComponent.h:279
vtkSmartPointer< vtkImageData > getImageData() const
get the image volume managed by this Component
Definition: ImageComponent.h:102
string name
Definition: select.cpp:111
This Component manages a set of images, destined to be seen in a single orientation only (axial OR sa...
Definition: SingleImageComponent.h:55
Definition: Action.cpp:40
Basic component to manage any kind of mesh.
Definition: MeshComponent.h:48
virtual void initRepresentation()
the concrete building of the 3D objects (Slice/Geometry): none in this case!
Definition: ImageComponent.h:255
SingleImageComponent * axialSlices
Definition: ImageComponent.h:272
A Component represents something that could be included in the explorer view, the interactive 3D view...
Definition: sdk/libraries/core/component/Component.h:299
vtkSmartPointer< vtkMatrix4x4 > rotationMatrix
The rotation matrix, that might have been altered by the user Will be saved in header file informatio...
Definition: ImageComponent.h:325
#define CAMITK_API
Definition: CamiTKAPI.h:49
ImageOrientationHelper::PossibleImageOrientations initialOrientation
Initial image orientation.
Definition: ImageComponent.h:310
The manager of the Image Volume data.
Definition: ImageComponent.h:73
PossibleImageOrientations
For each axis (x, y or z), 6 possibilities:
Definition: ImageOrientationHelper.h:52
const vtkSmartPointer< vtkMatrix4x4 > getRotationMatrix()
Definition: ImageComponent.h:224
Direct Orientations X: Right to Left, Y: Anterior to Posterior, Z: Inferior to Superiror.
Definition: ImageOrientationHelper.h:55
vtkSmartPointer< vtkTransform > initialImageDataTransform
The initial transform to the vtkImageData.
Definition: ImageComponent.h:315
SingleImageComponent * coronalSlices
Definition: ImageComponent.h:274
vtkSmartPointer< vtkImageData > originalImageData
the core Image Volume that is managed here
Definition: ImageComponent.h:270
SingleImageComponent * arbitrarySlices
Definition: ImageComponent.h:275
vtkSmartPointer< vtkWindowLevelLookupTable > lut
the current lookup table
Definition: ImageComponent.h:282