The manager of the Image Volume data. More...
#include <ImageComponent.h>
Inheritance diagram for camitk::ImageComponent:
Collaboration diagram for camitk::ImageComponent:Public Member Functions | |
| virtual vtkSmartPointer< vtkActor > | get3DCursor () override |
| Get a vtkActor to display a 3D cursor at the last picked position If the last picked pixel is invalid, this returns a nullptr. | |
| double | getActualMaxColor () const |
| Max gray level found in the image given its data type. | |
| double | getActualMinColor () const |
| Min gray level found in the image given its data type. | |
| int | getActualNumberOfColors () const |
| Actual Number of colors: difference betweent the maximun and the minimum gray levels found in the image. | |
| ArbitrarySingleImageComponent * | getArbitrarySlices () |
| Returns the arbitrary slice. | |
| SingleImageComponent * | getAxialSlices () |
| Returns the axial slice. | |
| SingleImageComponent * | getCoronalSlices () |
| Returns the coronal slice. | |
| vtkSmartPointer< vtkImageData > | getImageData () const override |
| get the image volume managed by this Component | |
| vtkSmartPointer< vtkImageData > | getImageDataWithFrameTransform () |
| Compute a copy of the original image data on which the frame transform has been applied. | |
| ImageOrientationHelper::PossibleImageOrientations | getInitialOrientation () const |
| Get the initial image orientation. | |
| void | getLastPixelPicked (int *x, int *y, int *z) |
| Get the last pixel picked using CTRL + LEFT/RIGHT CLICK in voxel index (i, j, k) indicates the voxel index (no notion of voxel size) | |
| void | getLastPointPickedDataFrame (double *x, double *y, double *z) |
| Get the last point picked using CTRL + LEFT/RIGHT CLICK in the data frame coordinates (this takes into account voxel size) | |
| void | getLastPointPickedWorldFrame (double *x, double *y, double *z) |
| Get Get the last point picked using CTRL + LEFT/RIGHT CLICK in the world coordinates This takes into account voxel size and image origin (and possible image rigid transforms). | |
| virtual vtkSmartPointer< vtkWindowLevelLookupTable > | getLut () |
| get the current lookup table | |
| virtual const vtkSmartPointer< vtkWindowLevelLookupTable > | getLut () const |
| get the current lookup table (const version) | |
| double | getMaxColor () const |
| Max possible gray level of the image given its data type. | |
| double | getMinColor () const |
| Min possible gray level of the image given its data type. | |
| int | getNumberOfColors () const override |
| Number of colors: number of possible gray levels in the image computed from the min and the max of the data type ; e.g. | |
| int | getNumberOfSlices () const override |
| Number of axial slices (i.e. | |
| const vtkSmartPointer< vtkMatrix4x4 > | getRotationMatrix () |
| SingleImageComponent * | getSagittalSlices () |
| Returns the sagittal slice. | |
| MeshComponent * | getVolumeRenderingChild () |
| Returns the MeshComponent which will contain the volume rendering actor. | |
| ImageComponent (const QString &file, const QString &name) | |
| Creates an ImageComponent from a file. | |
| ImageComponent (vtkSmartPointer< vtkImageData > anImageData, const QString &name, bool copy=false, ImageOrientationHelper::PossibleImageOrientations initialOrientation=ImageOrientationHelper::RAI) | |
| Creates an ImageComponent from a vtkImageData. | |
| void | pixelPicked (double x, double y, double z) override |
| Method called when a pixel has been picked in the 3D view. | |
| void | refresh () override |
| force refresh of all interactive viewers that are displaying sub-components as ImageComponent is not itself displayed by any viewer | |
| virtual void | replaceImageData (vtkSmartPointer< vtkImageData > anImageData, bool copy=false, ImageOrientationHelper::PossibleImageOrientations initialOrientation=ImageOrientationHelper::RAI) |
| Replaces the current image volume by the one given in parameters. | |
| void | setLastPointPickedFromPixel (int x, int y, int z) |
| Set the last point picked coordinates to the center of the x,y,z voxel. | |
| virtual void | setLut (vtkSmartPointer< vtkWindowLevelLookupTable > lookupTable) |
| Update the lookup table of the image viewer (see InterfaceBitMap). | |
| void | setSelected (const bool b, const bool recursive=false) override |
| set selected will select all the Image components (axial, sagittal and coronal). | |
| virtual void | setVisibility (QString, bool) override |
| set the visibility inside the viewer of the given name (override required to manage the specific case of the 3D viewer) | |
| ~ImageComponent () override | |
| Destructor. | |
InterfaceProperty | |
InterfaceProperty implemented methods | |
| void | propertyValueChanged (QString) override |
| unsigned int | getNumberOfPropertyWidget () override |
| return number of tabs in property explorer: there is more than one widget | |
| QWidget * | getPropertyWidgetAt (unsigned int i) override |
| get the property widget (to view as tabs in the property explorer): the default property widget and the selection view | |
Frame management | |
| |
| virtual void | setFramesAndTransformation (const std::shared_ptr< FrameOfReference > &mainFrame, const std::shared_ptr< FrameOfReference > &dataFrame, const std::shared_ptr< Transformation > &mainTransformation) |
| const FrameOfReference * | getDataFrame () const |
| get the data FrameOfReference (i.e., the vtkImageData frame) | |
| virtual void | setFrame (const std::shared_ptr< FrameOfReference > &frame) override |
| set the main FrameOfReference overriden to manage subcomponents | |
| virtual void | setFrameFrom (const InterfaceFrame *) override |
| virtual void | resetFrame () override |
| Reset this object's FrameOfReference, that is call setFrame with a newly created frame of reference. | |
| virtual const std::vector< std::shared_ptr< FrameOfReference > > & | getAdditionalFrames () const |
| get the other frames (neither data nor main) | |
| virtual void | addAdditionalFrame (const std::shared_ptr< FrameOfReference > &fr) |
| add an additional frame (neither data nor main) | |
| virtual void | removeAdditionalFrame (const FrameOfReference *fr) |
| remove an additional frame | |
| virtual const std::vector< std::shared_ptr< Transformation > > & | getAdditionalTransformations () const |
| get the additional Transformations | |
| virtual void | addAdditionalTransformation (const std::shared_ptr< Transformation > tr) |
| add an additional Transformation | |
| virtual void | removeAdditionalTransformation (const Transformation *tr) |
| Remove an additional Transformation from the Component. | |
| virtual QMultiMap< const FrameOfReference *, Component * > | getAllFrames (bool includeChildrenFrames=true) override |
| Get all FrameOfReference owned by this image. | |
| virtual QMultiMap< const Transformation *, Component * > | getAllTransformations (bool includeChildrenTransformations=true) override |
| Get all Transformation owned by this image. | |
| virtual Transformation * | getMainTransformation () const |
| Get main Transformation (data -> main) | |
| virtual void | updateMainTransformation (vtkSmartPointer< vtkMatrix4x4 >) |
| update the main transformation using the given 4x4 matrix | |
InterfacePersistence | |
| |
| virtual QVariant | toVariant () const override |
| virtual void | fromVariant (const QVariant &) override |
| Load data from a QVariant to initialize the current object. | |
Public Member Functions inherited from camitk::Component | |
| Component (QString file, QString name, Representation rep=NO_REPRESENTATION, bool createDefaultFrame=true) | |
| Component constructor for top-level component (please use the other constructor for sub-level components). | |
| Component (Component *parentComponent, const QString &name, Representation rep=NO_REPRESENTATION, bool createDefaultFrame=true) | |
| Component constructor for a Component that is a child of another Component You should not use this constructor for a top-level component. | |
| virtual | ~Component () override |
| default destructor. | |
| Representation | getRepresentation () const |
| return the type of representation concretely implemented by this Component in the InteractiveViewer. | |
| bool | isTopLevel () const |
| return true if this component is a top-level component | |
| Component * | getParentComponent () |
| get the parent component | |
| Component * | getTopLevelComponent () |
| get the top-level component | |
| virtual void | setModified (bool modified=true) |
| set the modified flag | |
| virtual bool | getModified () const |
| set the modified flag | |
| virtual bool | getVisibility (QString) const |
| get the visibility inside the viewer of the given name | |
| virtual bool | isSelected () const |
| Check if this data component is selected. | |
| const QString | getFileName () const |
| get the file name where the data have to be stored/were stored | |
| void | setFileName (const QString &) |
| set the file name where the data have to be stored | |
| bool | event (QEvent *e) override |
| Overriden from QObject, this one is only intercepting signal for dynamic property changed (see constructor). | |
| QMenu * | getActionMenu () |
| Get a QMenu that contains all the action that can be applied to this component. | |
| virtual QUuid | getUuid () const override |
| Get the unique ID of the component. | |
| virtual bool | setUuid (QUuid) override |
| Set the unique ID of the component. | |
| QStringList | getHierarchy () const override |
| bool | isInstanceOf (QString className) const override |
| Assert that a Component instance really inherits from a given className. | |
| QObject * | getPropertyObject () override |
| Get the property object that could be understood by PropertyEditor. | |
| const QObject * | getPropertyObject () const override |
| void | setIndexOfPropertyExplorerTab (unsigned int index) override final |
| Set the index of the tab in the ProperlyExplorer to select for display. | |
| unsigned int | getIndexOfPropertyExplorerTab () override |
| Get the index of the tab in the ProperlyExplorer to select for display. | |
| Q_INVOKABLE camitk::Property * | getProperty (QString name) override |
| Get a Property given its name. | |
| bool | addProperty (Property *) override |
| Add a new CamiTK property to the component. | |
| virtual QVariant | getPropertyValue (const QString &name) const override |
| get the property QVariant (same as property(const char*)) but check if it exists first. | |
| virtual bool | setPropertyValue (const QString &name, QVariant newValue) override |
| set the property QVariant value (same as setProperty(const char*, newValue)) but check if it exists first. | |
| void | removeChild (InterfaceNode *) override |
| remove a child node. | |
| void | setParent (InterfaceNode *) override |
| set the parent Component. | |
| bool | doubleClicked () override |
| This method is called each time the InterfaceNode is double clicked by the user. | |
| void | addChild (InterfaceNode *) override |
| add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance | |
| void | attachChild (InterfaceNode *) override |
| add a child Component (but leave its parent unchanged) | |
| void | deleteChildren () override final |
| delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that) | |
| QString | getName () const override |
| get the name to be displayed | |
| void | setName (const QString &) override |
| set the name to be displayed | |
| const ComponentList & | getChildren () const override |
| get the list of the InterfaceNode children (sub items in the hierarchy) | |
| InterfaceNode * | getParent () override |
| get the parent Component | |
| QPixmap | getIcon () override |
| Get the pixmap that will be displayed for this node. | |
| void | setNodeModified (bool) override final |
| Set up the node modification flag. | |
| bool | getNodeModified () const override |
| Get the current modification flag. | |
| bool | inItalic () const override |
| A component name is not displayed in italic by default. | |
| QMenu * | getPopupMenu (QWidget *parent=nullptr) override |
| get the popup menu to display (always return nullptr, overwrite this method if you want to give here you own popup) | |
| virtual const FrameOfReference * | getFrame () const override |
| Get the pointer to this object's FrameOfReference. | |
| vtkSmartPointer< vtkAxesActor > | getFrameAxisActor (QString viewerName) override |
| get the Frame Actor for a viewer | |
| virtual bool | getFrameVisibility (QString viewerName) const override |
| get the visibility of the Frame axis actor in the named viewer | |
| virtual void | setFrameVisibility (QString viewerName, bool visibility) override |
| set the visibility of the Frame axis actor | |
| 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 RenderingModes | delegate1 (myGeometry, setColorMode, int) delegate1(myGeometry |
| vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes const QString &vtkSmartPointer< vtkProp > | getProp (const QString ¶m) override |
| Return the vtkProp (actors, volumes and annotations) corresponding to the given name. | |
| unsigned int | getNumberOfProp () const override |
| return the number of additional prop | |
| vtkSmartPointer< vtkProp > | getProp (unsigned int index) override |
| return an additional prop by its index | |
| bool | addProp (const QString &name, vtkSmartPointer< vtkProp > prop) override |
| insert an additional prop, defining it by its name (default visibility = false). | |
| bool | removeProp (const QString &name) override |
| remove a given additional prop. | |
| void | pointPicked (vtkIdType, bool) override |
| an inherited class can redefine this method something specific. | |
| void | cellPicked (vtkIdType, bool) override |
| an inherited class can redefine this method something specific. | |
| void | getBounds (double *bounds) override |
| compute the object's bounding box [xmin,xmax, ymin,ymax, zmin,zmax], see Component.cpp | |
| double | getBoundingRadius () override |
| compute the object's bounding sphere radius, | |
| delegate4 (myGeometry, setPointPosition, const unsigned int, const double, const double, const double) delegateAndInvokeChildren1(myGeometry | |
| const RenderingModes const InterfaceGeometry::RenderingModes | getRenderingModes () const override |
| see Component.cpp | |
| delegateAndInvokeChildren1 (myGeometry, setEnhancedModes, const EnhancedModes) virtual const EnhancedModes getEnhancedModes() const override | |
| delegateAndInvokeChildren1Array (myGeometry, setActorColor, const RenderingModes, double, 4) delegateAndInvokeChildren4(myGeometry | |
| const const const const double void | getActorColor (const RenderingModes, double[4], bool ignoreEnhancedModes=false) const override |
| see Component.cpp | |
| 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 >) void setGlyphType(const GlyphTypes type |
| virtual void | setLinesAsTubes (bool isTubes=true, bool radiusFromLength=true, double radiusFactor=1.0/40.0, int numberOfSides=5) override |
| Set the lines as tubes (works only for vtkDataSet representation that contains lines) | |
| vtkSmartPointer< vtkImageData > | delegate1 (mySlice, setOriginalVolume, vtkSmartPointer< vtkImageData >) delegateConstGet0(mySlice |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > | delegateConstGet0 (mySlice, get3DImageActor, vtkSmartPointer< vtkImageActor >) delegateConstGet0(mySlice |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > | delegateGet0 (mySlice, getPixelActor, vtkSmartPointer< vtkActor >) delegate3(mySlice |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double | delegate0 (mySlice, updatePickPlane) delegate1(mySlice |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int | delegate3 (mySlice, setSlice, double, double, double) delegateConstGet0(mySlice |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int int | delegate3 (mySlice, setPixelRealPosition, double, double, double) delegate1(mySlice |
| int | getSlice () const override |
| see Component.cpp | |
Public Member Functions inherited from camitk::InterfaceProperty | |
| ~InterfaceProperty ()=default | |
| empty virtual destructor, to avoid memory leak | |
Public Member Functions inherited from camitk::InterfaceNode | |
| virtual | ~InterfaceNode ()=default |
| empty virtual destructor, to avoid memory leak | |
Public Member Functions inherited from camitk::InterfaceGeometry | |
| virtual | ~InterfaceGeometry ()=default |
| empty virtual destructor, to avoid memory leak | |
| virtual vtkSmartPointer< vtkPointSet > | getPointSet ()=0 |
| virtual void | setPointSet (vtkSmartPointer< vtkPointSet >)=0 |
| set the low-level data set. | |
| virtual void | setPointData (vtkSmartPointer< vtkDataArray >)=0 |
| set the point data (may contains a lookup table). | |
| virtual void | setMeshWorldTransform (vtkSmartPointer< vtkTransform >)=0 |
| set the transformation for 3D representation | |
| virtual vtkSmartPointer< vtkAlgorithmOutput > | getDataPort () const =0 |
| get the custom algorithm pipeline input. | |
| virtual void | setDataConnection (vtkSmartPointer< vtkAlgorithmOutput >)=0 |
| Set/reset the connection for the InterfaceGeometry internal algorithm. | |
| virtual void | setTexture (vtkSmartPointer< vtkTexture >)=0 |
| Set a texture to this object. | |
| virtual vtkSmartPointer< vtkActor > | getActor (const RenderingModes)=0 |
| Return the actor for the representation mode, nullptr if the actor doesn't exist. | |
| virtual void | updateLabel (const QString &label)=0 |
| update position and text of the label prop | |
| virtual void | setPointPosition (const unsigned int orderNumber, const double x, const double y, const double z)=0 |
| set a given point position | |
| virtual void | setRenderingModes (const RenderingModes)=0 |
| virtual void | setEnhancedModes (const EnhancedModes)=0 |
| set the enhanced mode | |
| virtual const EnhancedModes | getEnhancedModes () const =0 |
| get the current enhanced mode | |
| virtual void | setActorColor (const RenderingModes, double *color)=0 |
| Set the color of given representation modes. | |
| virtual void | setActorColor (const RenderingModes, const double, const double, const double)=0 |
| Set the color of given representation modes. | |
| virtual void | getActorColor (const RenderingModes mode, double *color, bool ignoreEnhancedModes=false) const =0 |
| Get the color of given representation modes in the second parameter. | |
| virtual void | setColor (const double, const double, const double)=0 |
| Set an (r,g,b) color to all representation modes, without changing the opacity. | |
| virtual void | setColor (const double, const double, const double, const double)=0 |
| Set an (r,g,b,a) color to all representation modes. | |
| virtual void | setActorOpacity (const RenderingModes, const double)=0 |
| Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified! | |
| virtual double | getActorOpacity (const RenderingModes) const =0 |
| Return the opacity of a given renderng mode. | |
| virtual void | setOpacity (const double)=0 |
| Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! | |
| virtual void | setMapperScalarRange (double min, double max)=0 |
| Set the mapper scalar range. | |
| 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). | |
| virtual void | setColorMode (int vtkColorMode=VTK_COLOR_MODE_DEFAULT)=0 |
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 viewers. | |
| virtual vtkSmartPointer< vtkImageActor > | get3DImageActor () const =0 |
| Return the vtkImageActor (vtkProp) representing a slice to be displayed in 3D viewers. | |
| virtual vtkSmartPointer< vtkActor > | getPickPlaneActor () const =0 |
| Return the vtkActor used to pick pixels in the slices. | |
| virtual vtkSmartPointer< vtkActor > | getPixelActor ()=0 |
| Return the vtkActor used to pick pixels in the slices. | |
| virtual void | setArbitraryTransform (vtkSmartPointer< vtkTransform >)=0 |
| Set the pointer to the image transformation. | |
| virtual void | setOriginalVolume (vtkSmartPointer< vtkImageData >)=0 |
| set the original volume image data (the source vtkImageData before any reslice) and refresh the vtk pipeline | |
| virtual void | setPixelRealPosition (double, double, double)=0 |
| move the pixel selection green indicator (pixelActor) to the given real position | |
| virtual void | setSlice (double x, double y, double z)=0 |
| Set the slice corresponding to the given image coordinates (in RAI convention) | |
| virtual void | setSlice (int s)=0 |
| Set the current slice index. | |
| virtual void | updatePickPlane ()=0 |
| update the position of the plane surrounding the currently selected slice | |
| virtual | ~InterfaceBitMap ()=default |
| virtual destructor | |
Public Member Functions inherited from camitk::InterfaceFrame | |
| virtual | ~InterfaceFrame ()=default |
| empty virtual destructor, to avoid memory leak | |
Public Member Functions inherited from camitk::InterfacePersistence | |
| virtual | ~InterfacePersistence ()=default |
Protected Member Functions | |
| void | setImageData (vtkSmartPointer< vtkImageData > anImageData, bool copy, ImageOrientationHelper::PossibleImageOrientations initialOrientation=ImageOrientationHelper::RAI, vtkSmartPointer< vtkMatrix4x4 > initialTransformMatrix=nullptr) |
| Set the image data of the volumic images with the given orientation options. | |
| bool | setMainTransformation (const std::shared_ptr< Transformation > &tr) |
| Set main Transformation (dataFrame -> mainFrame) return false if the main transformation was not modified (that is tr was nullptr) | |
| void | setSingleImageComponents (SingleImageComponent *axialSlices, SingleImageComponent *sagittalSlices, SingleImageComponent *coronalSlices, ArbitrarySingleImageComponent *arbitrarySlices) |
| Set all single images. | |
Additional Inherited Members | |
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 Attributes inherited from camitk::Component | |
| setPointSet | |
| vtkSmartPointer< vtkPointSet > | getDataPort |
| vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > | getActor |
| vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > | vtkSmartPointer< vtkActor > |
| vtkSmartPointer< vtkPointSet > vtkSmartPointer< vtkAlgorithmOutput > const RenderingModes | updateLabel |
| setRenderingModes | |
| setActorColor | |
| const | RenderingModes |
| const const | double |
| const const const | double |
| setColor | |
| 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) override |
| getImageData | |
| vtkSmartPointer< vtkImageData > | get2DImageActor |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > | getPickPlaneActor |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > | pixelPicked |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > | double |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double | setSlice |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int | getNumberOfColors |
| vtkSmartPointer< vtkImageData > vtkSmartPointer< vtkImageActor > vtkSmartPointer< vtkActor > double int int | setArbitraryTransform |
Protected Attributes inherited from camitk::Component | |
| ComponentList | childrenComponent |
| The explorer sub items. | |
| std::shared_ptr< FrameOfReference > | frameOfReference = nullptr |
| The FrameOfReference in which this component's data is represented. | |
| unsigned int | indexOfPropertyExplorerTab |
| The PropertyExplorer tab index to select once refreshed. | |
| bool | isSelectedFlag |
| tells if this particular Component is selected or not | |
| bool | modifiedFlag |
| the modification flag (could be extended to manage a undo/redo list) | |
| QString | myFileName |
| the file name from which the Component is loaded | |
| InterfaceGeometry * | myGeometry |
| myGeometry is the 3d representation of this Component, the Component delegates all InterfaceGeometry activity to myGeometry (delegation pattern) | |
| InterfaceNode * | myParentNode |
| who is the boss? The Component! | |
| InterfaceBitMap * | mySlice |
| mySlice is the slice representation of this data component, the Component delegates all InterfaceBitMap activity to mySlice (delegation pattern) | |
The manager of the Image Volume data.
An image volume data has no concrete 3D representation, as its representation is provided by its sub-components (axial, sagittal, coronal and arbitrary slices as well as volume rendering).
It builds a complete/ready-to-use VTK pipeline:
Every time a property is changed using setProperty(QString propertyName, QVariant value), the ImageComponent will automatically update, thanks to the propertyValueChanged(..) method.
| camitk::ImageComponent::ImageComponent | ( | const QString & | file, |
| const QString & | name | ||
| ) |
Creates an ImageComponent from a file.
This method is called from a ComponentExtension derived class that support the given file format.
This method may throw an AbortException if a problem occurs.
| file | the complete path to the image file |
| name | name to be given to the Component (this name will appear in the explorer) |
| camitk::ImageComponent::ImageComponent | ( | vtkSmartPointer< vtkImageData > | anImageData, |
| const QString & | name, | ||
| bool | copy = false, |
||
| ImageOrientationHelper::PossibleImageOrientations | initialOrientation = ImageOrientationHelper::RAI |
||
| ) |
Creates an ImageComponent from a vtkImageData.
By default, does not copy the original image, but references the corresponding smart pointer (for memory reasons, but if copy is set to true, performs a deep copy).
This method may throw an AbortException if a problem occurs.
| anImageData | volume image of the new ImageComponent |
| name | name to be given to the Component (this name will appear in the explorer) |
| copy | perform or not a deep copy of the image given in parameters. |
| initialOrientation | the initial orientation of the image. This information may be stored in the file header or in some time (DICOM). If no orientation information is provided, assume the image orientation is RAI. |
References setImageData(), camitk::Component::setModified(), and camitk::Component::setName().
Here is the call graph for this function:
|
override |
Destructor.
|
inlinevirtual |
add an additional frame (neither data nor main)
|
inlinevirtual |
add an additional Transformation
|
overridevirtual |
Load data from a QVariant to initialize the current object.
Reimplemented from camitk::Component.
References CAMITK_ERROR, CAMITK_WARNING_ALT, camitk::Component::fromVariant(), camitk::TransformationManager::getFrameOfReferenceOwnership(), getLut(), camitk::Component::getName(), camitk::TransformationManager::getTransformationOwnership(), setFramesAndTransformation(), and camitk::ArbitrarySingleImageComponent::updatePropertyFromTransformation().
Here is the call graph for this function:
|
overridevirtual |
Get a vtkActor to display a 3D cursor at the last picked position If the last picked pixel is invalid, this returns a nullptr.
Reimplemented from camitk::Component.
| double camitk::ImageComponent::getActualMaxColor | ( | ) | const |
Max gray level found in the image given its data type.
| double camitk::ImageComponent::getActualMinColor | ( | ) | const |
Min gray level found in the image given its data type.
| int camitk::ImageComponent::getActualNumberOfColors | ( | ) | const |
Actual Number of colors: difference betweent the maximun and the minimum gray levels found in the image.
|
inlinevirtual |
get the other frames (neither data nor main)
Referenced by getAllFrames().
Here is the caller graph for this function:
|
inlinevirtual |
get the additional Transformations
Referenced by getAllTransformations().
Here is the caller graph for this function:
|
overridevirtual |
Get all FrameOfReference owned by this image.
Reimplemented from camitk::Component.
References getAdditionalFrames(), camitk::Component::getChildren(), getDataFrame(), and camitk::Component::getFrame().
Here is the call graph for this function:
|
overridevirtual |
Get all Transformation owned by this image.
Reimplemented from camitk::Component.
References getAdditionalTransformations(), camitk::Component::getChildren(), and getMainTransformation().
Here is the call graph for this function:| ArbitrarySingleImageComponent * camitk::ImageComponent::getArbitrarySlices | ( | ) |
Returns the arbitrary slice.
Referenced by ShowArbitrarySliceIn3D::apply(), and ShowArbitrarySliceIn3D::getQAction().
Here is the caller graph for this function:| SingleImageComponent * camitk::ImageComponent::getAxialSlices | ( | ) |
Returns the axial slice.
Referenced by ShowAxialSliceIn3D::apply(), ShowAxialSliceIn3D::getQAction(), and MultiPickingWidget::manuallyModified().
Here is the caller graph for this function:| SingleImageComponent * camitk::ImageComponent::getCoronalSlices | ( | ) |
Returns the coronal slice.
Referenced by ShowCoronalSliceIn3D::apply(), and ShowCoronalSliceIn3D::getQAction().
Here is the caller graph for this function:
|
inline |
get the data FrameOfReference (i.e., the vtkImageData frame)
Referenced by ImageReconstructionAction::apply(), camitk::ArbitrarySingleImageComponent::ArbitrarySingleImageComponent(), DicomComponent::DicomComponent(), getAllFrames(), setFrame(), and setImageData().
Here is the caller graph for this function:
|
inlineoverridevirtual |
get the image volume managed by this Component
Implements camitk::InterfaceBitMap.
Referenced by PickedPixelMap::addPixel(), PixelColorChanger::apply(), camitk::ArbitrarySingleImageComponent::ArbitrarySingleImageComponent(), VolumeRenderingAction::createVolumeRendering(), MultiPickingWidget::manuallyModified(), PickedPixelMap::modifyPixel(), MultiPickingWidget::removeSeedNumber(), ItkImageComponentExtension::save(), VtkImageComponentExtension::save(), ItkImageComponentExtension::saveImage(), and ImageLutWidget::updateComponent().
Here is the caller graph for this function:| vtkSmartPointer< vtkImageData > camitk::ImageComponent::getImageDataWithFrameTransform | ( | ) |
Compute a copy of the original image data on which the frame transform has been applied.
This allows one to keep all the frame transform information on the file when saving it.
|
inline |
Get the initial image orientation.
| void camitk::ImageComponent::getLastPixelPicked | ( | int * | x, |
| int * | y, | ||
| int * | z | ||
| ) |
Get the last pixel picked using CTRL + LEFT/RIGHT CLICK in voxel index (i, j, k) indicates the voxel index (no notion of voxel size)
Referenced by PickedPixelMap::addPixel(), PixelColorChanger::apply(), PickedPixelMap::modifyPixel(), and pixelPicked().
Here is the caller graph for this function:Get the last point picked using CTRL + LEFT/RIGHT CLICK in the data frame coordinates (this takes into account voxel size)
Referenced by PickedPixelMap::addPixel(), and PickedPixelMap::modifyPixel().
Here is the caller graph for this function:Get Get the last point picked using CTRL + LEFT/RIGHT CLICK in the world coordinates This takes into account voxel size and image origin (and possible image rigid transforms).
References camitk::TransformationManager::getTransformation(), and camitk::TransformationManager::getWorldFrame().
Referenced by PickedPixelMap::addPixel(), PickedPixelMap::modifyPixel(), and pixelPicked().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
get the current lookup table
Referenced by PixelColorChanger::apply(), DicomComponent::DicomComponent(), fromVariant(), ImageLutAction::getWidget(), toVariant(), and ImageLutWidget::updateComponent().
Here is the caller graph for this function:
|
virtual |
get the current lookup table (const version)
|
inlinevirtual |
Get main Transformation (data -> main)
Referenced by VolumeRenderingAction::createVolumeRendering(), getAllTransformations(), pixelPicked(), resetFrame(), VtkImageComponentExtension::save(), and setFrame().
Here is the caller graph for this function:| double camitk::ImageComponent::getMaxColor | ( | ) | const |
Max possible gray level of the image given its data type.
Referenced by getNumberOfColors().
Here is the caller graph for this function:| double camitk::ImageComponent::getMinColor | ( | ) | const |
Min possible gray level of the image given its data type.
Referenced by getNumberOfColors().
Here is the caller graph for this function:
|
overridevirtual |
Number of colors: number of possible gray levels in the image computed from the min and the max of the data type ; e.g.
for a volume coded on unsigned char, returns 256.
Implements camitk::InterfaceBitMap.
References getMaxColor(), and getMinColor().
Here is the call graph for this function:
|
overridevirtual |
return number of tabs in property explorer: there is more than one widget
Reimplemented from camitk::Component.
|
overridevirtual |
Number of axial slices (i.e.
dim[2])
Reimplemented from camitk::Component.
References camitk::Component::getNumberOfSlices().
Here is the call graph for this function:
|
overridevirtual |
get the property widget (to view as tabs in the property explorer): the default property widget and the selection view
Reimplemented from camitk::Component.
|
inline |
| SingleImageComponent * camitk::ImageComponent::getSagittalSlices | ( | ) |
Returns the sagittal slice.
Referenced by ShowSagittalSliceIn3D::apply(), and ShowSagittalSliceIn3D::getQAction().
Here is the caller graph for this function:| MeshComponent * camitk::ImageComponent::getVolumeRenderingChild | ( | ) |
Returns the MeshComponent which will contain the volume rendering actor.
Referenced by VolumeRenderingAction::apply(), VolumeRenderingAction::createVolumeRendering(), VolumeRenderingAction::getQAction(), and VolumeRenderingAction::getWidget().
Here is the caller graph for this function:Method called when a pixel has been picked in the 3D view.
This method tells all the scene3D to display the slice containing the picked pixel. The arguments are the coordinates of the 3D point.
Implements camitk::InterfaceBitMap.
References CAMITK_TRACE, camitk::Component::getChildren(), getLastPixelPicked(), getLastPointPickedWorldFrame(), getMainTransformation(), camitk::Transformation::getTransform(), camitk::Component::setIndexOfPropertyExplorerTab(), setLastPointPickedFromPixel(), and camitk::Component::setSlice.
Referenced by MultiPickingWidget::manuallyModified(), and MultiPickingWidget::removeSeedNumber().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
manages dynamic property viewIn3D
Reimplemented from camitk::Component.
References camitk::Component::propertyValueChanged().
Here is the call graph for this function:
|
overridevirtual |
force refresh of all interactive viewers that are displaying sub-components as ImageComponent is not itself displayed by any viewer
Reimplemented from camitk::Component.
References camitk::Component::childrenComponent.
|
inlinevirtual |
remove an additional frame
|
inlinevirtual |
Remove an additional Transformation from the Component.
|
virtual |
Replaces the current image volume by the one given in parameters.
| anImageData | the replacement image data |
| copy | if it 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. |
| initialOrientation | the initial orientation of the replacement image. If no orientation information is provided, assume the image orientation is RAI. |
References camitk::Component::removeChild(), and setImageData().
Here is the call graph for this function:
|
overridevirtual |
Reset this object's FrameOfReference, that is call setFrame with a newly created frame of reference.
Reimplemented from camitk::Component.
References camitk::TransformationManager::addFrameOfReference(), camitk::TransformationManager::addTransformation(), getMainTransformation(), camitk::Component::getName(), and setFramesAndTransformation().
Here is the call graph for this function:
|
overridevirtual |
set the main FrameOfReference overriden to manage subcomponents
Reimplemented from camitk::Component.
References camitk::TransformationManager::addTransformation(), CAMITK_ERROR, camitk::Component::frameOfReference, getDataFrame(), getMainTransformation(), camitk::Component::getName(), camitk::TransformationManager::getTransformationOwnership(), camitk::Component::setFrame(), and setMainTransformation().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from camitk::Component.
References camitk::Component::frameOfReference, camitk::Component::setFrameFrom(), and setFramesAndTransformation().
Here is the call graph for this function:
|
virtual |
set the main and data FrameOfReference as well as the transformation between them
References camitk::Component::getChildren(), and camitk::Component::setFrame().
Referenced by fromVariant(), resetFrame(), and setFrameFrom().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Set the image data of the volumic images with the given orientation options.
| anImageData | The main vtkImageData of the volumic image. |
| copy | Indicate if we do a vtk deep copy of these data or directly work on the one provided. |
| initialOrientation | Initial image orientation |
| initialTransformMatrix | Initial image rotation (provided as a 4x4 matrix) |
References camitk::Component::addProperty(), camitk::TransformationManager::addTransformation(), camitk::Component::frameOfReference, getDataFrame(), camitk::Component::getFrame(), camitk::ImageOrientationHelper::getOrientationAsQString(), camitk::TransformationManager::getTransformationOwnership(), camitk::ImageOrientationHelper::getTransformToRAI(), setMainTransformation(), camitk::Property::setReadOnly(), and camitk::TransformationManager::updateTransformation().
Referenced by DicomComponent::DicomComponent(), ImageComponent(), and replaceImageData().
Here is the call graph for this function:
Here is the caller graph for this function:| void camitk::ImageComponent::setLastPointPickedFromPixel | ( | int | x, |
| int | y, | ||
| int | z | ||
| ) |
Set the last point picked coordinates to the center of the x,y,z voxel.
References camitk::Component::double.
Referenced by pixelPicked().
Here is the caller graph for this function:
|
virtual |
Update the lookup table of the image viewer (see InterfaceBitMap).
|
protected |
Set main Transformation (dataFrame -> mainFrame) return false if the main transformation was not modified (that is tr was nullptr)
Referenced by setFrame(), and setImageData().
Here is the caller graph for this function:
|
overridevirtual |
set selected will select all the Image components (axial, sagittal and coronal).
Reimplemented from camitk::Component.
References camitk::Component::getChildren(), camitk::Component::setActorColor, camitk::Component::setSelected(), camitk::SingleImageComponent::singleImageSelected(), and camitk::InterfaceGeometry::Wireframe.
Here is the call graph for this function:
|
protected |
Set all single images.
The only time this method should be used is when you redefined the SingleImageComponent class. Warning: this overwrite the original single image components. Note: if you need to change only one of these SingleImageComponent instances, you'd better use the getter methods on the remaining instances.
| axialSlices | the axial slices representation (use getAxialSlices() if you don't need to modify this particular orientation) |
| sagittalSlices | the sagittal slices representation (use getSagittalSlices() if you don't need to modify this particular orientation) |
| coronalSlices | the coronal slices representation (use getCoronalSlices() if you don't need to modify this particular orientation) |
| arbitrarySlices | the arbitrary slices representation (use getArbitrarySlices() if you don't need to modify this particular orientation) |
References camitk::Component::removeChild().
Here is the call graph for this function:
|
overridevirtual |
set the visibility inside the viewer of the given name (override required to manage the specific case of the 3D viewer)
Reimplemented from camitk::Component.
References camitk::Component::setVisibility().
Here is the call graph for this function:
|
overridevirtual |
Convert all data from the object to a QVariant (usually a QVariantMap)
Reimplemented from camitk::Component.
References camitk::ArbitrarySingleImageComponent::getArbitraryFrame(), getLut(), camitk::FrameOfReference::getUuid(), and camitk::Component::toVariant().
Here is the call graph for this function:
|
virtual |
update the main transformation using the given 4x4 matrix
References camitk::TransformationManager::updateTransformation().
Referenced by DicomComponent::DicomComponent().
Here is the call graph for this function:
Here is the caller graph for this function: