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;
97 void setSelected(
const bool b,
const bool recursive =
false)
override;
100 QString getImageName()
const;
101 void setImageName(
const QString&);
105 return originalImageData;
113 vtkSmartPointer<vtkImageData> getImageDataWithFrameTransform();
117 return initialOrientation;
128 void getLastPixelPicked(
int* x,
int* y,
int* z);
132 void getLastPointPickedImageCoords(
double* x,
double* y,
double* z);
136 void getLastPointPickedWorldCoords(
double* x,
double* y,
double* z);
143 int getNumberOfColors()
const override;
146 double getMinColor()
const;
149 double getMaxColor()
const;
154 int getActualNumberOfColors()
const;
157 double getActualMinColor()
const;
160 double getActualMaxColor()
const;
163 int getNumberOfSlices()
const override;
166 virtual void setLut(vtkSmartPointer<vtkWindowLevelLookupTable> lookupTable);
169 virtual vtkSmartPointer<vtkWindowLevelLookupTable> getLut();
173 void refresh()
const override;
197 void updateProperty(QString, QVariant)
override;
202 unsigned int getNumberOfPropertyWidget()
override;
205 QWidget* getPropertyWidgetAt(
unsigned int i)
override;
209 return rotationMatrix;
222 virtual void setImageData(vtkSmartPointer<vtkImageData> anImageData,
225 vtkSmartPointer<vtkMatrix4x4> initialTransformMatrix =
nullptr);
249 virtual void initImageProperties();
255 void initLookupTable();
258 void buildImageComponents();
261 void updateImageComponents();
268 void update3DViewer();
272 vtkSmartPointer<vtkPolyData> getBoundingBox();
294 vtkSmartPointer<vtkWindowLevelLookupTable>
lut;
297 double currentPixelPicked[3];
329 #endif //IMAGE_COMPONENT_H SingleImageComponent * sagittalSlices
the sagittal slices representation (all intelligence is delegated to a Slice class instance) ...
Definition: ImageComponent.h:281
QTableView * selectionView
Tab displaying data selected point in the property explorer.
Definition: ImageComponent.h:303
vtkSmartPointer< vtkTransform > initialFrameTransform
The initial frame of the image at opening.
Definition: ImageComponent.h:320
QStandardItemModel * model
Model to display data.
Definition: ImageComponent.h:306
MeshComponent * volumeRenderingChild
When an action computes volume rendering for an image, it stores the corresponding actor as a prop of...
Definition: ImageComponent.h:291
ImageOrientationHelper::PossibleImageOrientations getInitialOrientation() const
Get the initial image orientation.
Definition: ImageComponent.h:116
This Component manages a set of images, destined to be seen in a single orientation only (axial OR sa...
Definition: SingleImageComponent.h:56
Definition: Action.cpp:36
Basic component to manage any kind of mesh.
Definition: MeshComponent.h:53
SingleImageComponent * axialSlices
the axial slices representation (all intelligence is delegated to a Slice class instance) ...
Definition: ImageComponent.h:278
A Component represents something that could be included in the explorer view, the interactive 3D view...
Definition: sdk/libraries/core/component/Component.h:298
vtkSmartPointer< vtkMatrix4x4 > rotationMatrix
The rotation matrix, that might have been altered by the user Will be saved in header file informatio...
Definition: ImageComponent.h:324
#define CAMITK_API
Definition: CamiTKAPI.h:49
ImageOrientationHelper::PossibleImageOrientations initialOrientation
Initial image orientation.
Definition: ImageComponent.h:309
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:208
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:314
SingleImageComponent * coronalSlices
the coronal slices representation (all intelligence is delegated to a Slice class instance) ...
Definition: ImageComponent.h:284
vtkSmartPointer< vtkImageData > originalImageData
the core Image Volume that is managed here
Definition: ImageComponent.h:275
vtkSmartPointer< vtkImageData > getImageData() const
get the image volume managed by this Component
Definition: ImageComponent.h:104
SingleImageComponent * arbitrarySlices
the arbitrary slices representation (all intelligence is delegated to a Slice class instance) ...
Definition: ImageComponent.h:287
void initRepresentation()
the concrete building of the 3D objects (Slice/Geometry): none in this case!
Definition: ImageComponent.h:252
vtkSmartPointer< vtkWindowLevelLookupTable > lut
the current lookup table
Definition: ImageComponent.h:294