![]() |
ImFusion C++ SDK 4.4.0
|
#include <AnatomyPlugin/include/ImFusion/AnatomyPlugin/GenericASC.h>
Generic implementation of the AnatomicalStructureCollection interface. More...
Generic implementation of the AnatomicalStructureCollection interface.
This class holds a vector AnatomicalStructure objects
Public Member Functions | |
| GenericASC (bool is2D=false) | |
| GenericASC (SharedImageSet &ct) | |
| void | addAnatomicalStructure (const std::string &name, std::unique_ptr< AnatomicalStructure > as) |
| Helper function for adding GenericAnatomicalStructure objects that don't have a name. | |
| std::string | identifier () const override |
| A (machine-readable) name of the anatomy. | |
| std::string | serializationID () const override |
| String differentiating the type of Anatomical Structure For imfusion types, these strings should start with "imfusion." Used for (de)serialization. | |
| Public Member Functions inherited from ImFusion::AnatomicalStructureCollection | |
| AnatomicalStructureCollection (bool is2D=false) | |
| AnatomicalStructureCollection (const AnatomicalStructureCollection &)=delete | |
| AnatomicalStructureCollection & | operator= (const AnatomicalStructureCollection &)=delete |
| AnatomicalStructure * | anatomicalStructureByIdentifier (const std::string &identifier) |
| const AnatomicalStructure * | anatomicalStructureByIdentifier (const std::string &identifier) const |
| std::vector< AnatomicalStructure * > | allAnatomicalStructuresByIdentifier (const std::string &identifier) |
| std::vector< const AnatomicalStructure * > | allAnatomicalStructuresByIdentifier (const std::string &identifier) const |
| virtual std::vector< const AnatomicalStructure * > | anatomicalStructures () const |
| Returns a vector of pointers to all anatomical structures. | |
| virtual std::vector< AnatomicalStructure * > | anatomicalStructures () |
| Pose::TransformationConvention | matrixConvention () const final override |
| Defines whether the internally stored matrices in derived classes map from or to the world coordinate system. | |
| DataList | children () const override |
| Returns the list of direct children of this group. | |
| bool | enableChildren () |
| void | setEnableChildren (bool enableChildren) |
| int | size () const override |
| bool | empty () const override |
| Retuns true if all members are empty, i.e. this structure has no associated information. | |
| void | merge (const AnatomicalStructureCollection &other, bool checkIdentifier=true) |
| Merges the collection other into the current collection by adding all anatomical structures from other. | |
| void | clear () override |
| Clear all data contained in this structure. | |
| ASCSet * | parent () const |
| If the AnatomicalStructureCollection is part of an ASCSet, the parent ASCSet of the anatomical structure. | |
| void | setParent (ASCSet *parent) |
| Sets the parent ASCSet of the anatomical structure. | |
| mat4 | matrixToWorld () const |
| Get matrix mapping from the data coordinate system to the world coordinate system. | |
| Public Member Functions inherited from ImFusion::AnatomicalStructure | |
| AnatomicalStructure (bool is2D=false) | |
| AnatomicalStructure (AnatomicalStructure &other) | |
| AnatomicalStructure (AnatomicalStructure &&other) | |
| mat4 | matrixToWorld () const |
| virtual Geometry::AlignedBox | bounds (const mat4 &orientation=mat4::Identity(), const std::vector< ContentType > &toConsider={ContentType::Keypoints, ContentType::PointClouds, ContentType::Meshes, ContentType::Splines, ContentType::Graphs}) const |
| Properties & | attributes () |
| Properties const & | attributes () const |
| template<typename Derived> | |
| std::unique_ptr< Derived > | clone () const |
| Helper function for calling cloneImpl() and casting to a specific type. | |
| void | configure (const Properties *p) override |
| Configure attributes and parameters. | |
| void | configuration (Properties *p) const override |
| Retrieve configuration of attributes and parameters. | |
| bool | is2D () const |
| Returns true if the AnatomicalStructure is 2D or false if it is 3D. | |
| KeyValueStore< vec3 > & | keypoints () |
| Getters for non-Data key/value stores. | |
| const KeyValueStore< vec3 > & | keypoints () const |
| KeyValueStore< vec4 > & | planes () |
| const KeyValueStore< vec4 > & | planes () const |
| KeyValueStore< std::unique_ptr< Spline > > & | splines () |
| const KeyValueStore< std::unique_ptr< Spline > > & | splines () const |
| KeyValueStore< std::unique_ptr< SharedImageSet > > & | images () |
| Getters for Data key/value stores. | |
| const KeyValueStore< std::unique_ptr< SharedImageSet > > & | images () const |
| KeyValueStore< std::unique_ptr< Mesh > > & | meshes () |
| const KeyValueStore< std::unique_ptr< Mesh > > & | meshes () const |
| KeyValueStore< std::unique_ptr< PointCloud > > & | pointclouds () |
| const KeyValueStore< std::unique_ptr< PointCloud > > & | pointclouds () const |
| KeyValueStore< std::unique_ptr< Graph > > & | graphs () |
| const KeyValueStore< std::unique_ptr< Graph > > & | graphs () const |
| KeyValueStore< AnatomicalStructureDeformation > & | deformations () |
| const KeyValueStore< AnatomicalStructureDeformation > & | deformations () const |
| Public Member Functions inherited from ImFusion::Configurable | |
| virtual void | configureDefaults () |
| Retrieve the properties of this object, replaces values with their defaults and sets it again. | |
| void | registerParameter (ParameterBase *param) |
| Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration(). | |
| void | unregisterParameter (const ParameterBase *param) |
| Remove the given Parameter or SubProperty from the list of registered parameters. | |
| Configurable (const Configurable &rhs) | |
| Configurable (Configurable &&rhs) noexcept | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (Configurable &&) noexcept |
| Public Member Functions inherited from ImFusion::Data | |
| Data (const std::string &name="") | |
| Data (const Data &other) | |
| Data & | operator= (const Data &other) |
| virtual | ~Data () |
| Mandatory virtual destructor. | |
| virtual Modality | modality () const |
| Return the modality of this data. | |
| const std::string & | name () const |
| Return the name of this data. | |
| void | setName (const std::string &name) |
| Sets the name of this data. | |
| virtual bool | isAnnotationType () const |
| Return whether this data type is visualized through an annotation (e.g. mesh). | |
| const DataComponentList & | components () const |
| Returns the list of DataComponents for this data. | |
| DataComponentList & | components () |
| virtual void | setMatrixFromWorld (const mat4 &m) |
| Set matrix mapping from the world coordinate system to the data coordinate system. | |
| virtual void | setMatrixToWorld (const mat4 &m) |
| Set matrix mapping from the data coordinate system to the world coordinate system. | |
| virtual mat4 | matrixFromWorld () const |
| Get matrix mapping from the world coordinate system to the data coordinate system. | |
| virtual mat4 | matrix () const |
| Return the transformation matrix. | |
| Public Member Functions inherited from ImFusion::SignalReceiver | |
| SignalReceiver ()=default | |
| Default constructor. | |
| SignalReceiver (const SignalReceiver &other) | |
| Copy constructor, does not copy any existing signal connections from other. | |
| SignalReceiver & | operator= (SignalReceiver rhs) |
| Assignment operator, disconnects all existing connections, does not copy any existing signal connections from rhs. | |
| virtual | ~SignalReceiver () |
| Virtual destructor disconnects from all connected signals. | |
| Public Member Functions inherited from ImFusion::Selectable | |
| Selectable (const Selectable &) | |
| Selectable (Selectable &&) | |
| Selectable & | operator= (const Selectable &) |
| Selectable & | operator= (Selectable &&) |
| virtual Selection | selection () const |
| virtual int | focus () const |
| virtual void | setSelection (const Selection &sel) |
| Set the underlying selection. | |
| virtual void | setFocus (int index) |
| Set focus of the selection. | |
Protected Member Functions | |
| virtual std::unique_ptr< AnatomicalStructure > | construct () const override |
| std::unique_ptr< AnatomicalStructure > | cloneImpl () const override |
| Derived classes may override this, but should call the base class cloneImpl to obtain a (unique-ptr) which they may assume to point to an object of the derived class. | |
| Protected Member Functions inherited from ImFusion::Utils::NotCopyable | |
| NotCopyable (NotCopyable &&) noexcept=default | |
| NotCopyable & | operator= (NotCopyable &&) noexcept=default |
| NotCopyable (const NotCopyable &)=delete | |
| NotCopyable & | operator= (const NotCopyable &)=delete |
| Protected Member Functions inherited from ImFusion::Data | |
| void | swapWith (Data &other) |
| Swaps the data and emits a matrix and name changed signal for both. | |
| Protected Member Functions inherited from ImFusion::SignalReceiver | |
| void | disconnectAll () |
| Disconnects all existing connections. | |
| Kind | kind () const override |
| Data interface. | |
| Geometry::AlignedBox | bounds () const override |
| Returns the axis-aligned bounding box of this data in world space. | |
| std::string | describe () const override |
| A (human-readable) description of this anatomy. | |
| void | setMatrix (const mat4 &other) override |
| Set the transformation matrix. | |
| void | setMatrix (const mat4 &other, bool syncWorld) |
| void | setMatrixToWorld (const mat4 &other, bool syncWorld) override |
| Set the local to world matrix of this object. | |
| int | numAnatomicalStructures () const override |
| AnatomicalStructureCollection interface. | |
| const AnatomicalStructure & | anatomicalStructure (int index) const override |
| Returns the anatomical structure at index index. | |
| AnatomicalStructure & | anatomicalStructure (int index) override |
| Returns the anatomical structure at index index. | |
| int | anatomicalStructureIndex (const AnatomicalStructure *anatomicalStructure) const override |
| Return the index corresponding to a given anatomical structure. | |
| std::unique_ptr< AnatomicalStructure > | takeAnatomicalStructure (AnatomicalStructure *as) override |
| Take an anatomical structure from this collection. | |
| bool | addAnatomicalStructure (std::unique_ptr< AnatomicalStructure > as) override |
| Add an anatomical structure to this collection. | |
Additional Inherited Members | |
| Public Types inherited from ImFusion::AnatomicalStructure | |
| using | ContentType = AnatomyPlugin::ContentType |
| Public Types inherited from ImFusion::Data | |
| enum | Kind { UNKNOWN = 0 , IMAGE = 1 , VOLUME = 2 , IMAGESET = 3 , VOLUMESET = 4 , IMAGESTREAM = 5 , VOLUMESTREAM = 6 , POINTSET = 7 , SURFACE = 8 , TRACKINGSTREAM = 9 , LIVETRACKINGSTREAM = TRACKINGSTREAM , TRACKINGDATA = 10 , TREE = 11 , TENSOR = 12 , POLYDATASTREAM = 13 , STEREOIMAGESET = 14 , STEREOIMAGESTREAM = 15 , VOLUMETRICMESH = 16 } |
| Kind of data. More... | |
| enum | Modality { NA = 0 , XRAY = 1 , CT = 2 , MRI = 3 , ULTRASOUND = 4 , VIDEO = 5 , NM = 6 , OCT = 7 , LABEL = 8 , DISTANCE = 9 } |
| Image modality of the data. More... | |
| Static Public Member Functions inherited from ImFusion::Data | |
| static std::string | modalityString (Data::Modality m) |
| Return the name of an image modality. | |
| static Data::Modality | stringToModality (const std::string &s) |
| Returns the modality corresponding to a modality string or NA if nothing matches. | |
| Public Attributes inherited from ImFusion::AnatomicalStructureCollection | |
| Signal< AnatomicalStructure * > | signalAnatomicalStructureToBeDeleted |
| Signal< AnatomicalStructure * > | signalAnatomicalStructureAdded |
| Signal | signalDataChanged |
| This signal can be emitted after changing included anatomical structures or parameters owned by this object. | |
| Signal | signalMatrixChanged |
| Public Attributes inherited from ImFusion::AnatomicalStructure | |
| Signal | signalMatrixChanged |
| Signal | signalInDestructor |
| This signal is called in the destructor. Classes that inherit from AnatomicalStructure may additionally emit this signal. | |
| Public Attributes inherited from ImFusion::Configurable | |
| Signal | signalParametersChanged |
| Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
| Public Attributes inherited from ImFusion::Data | |
| Signal< const Data * > | signalDeleted |
| Signal emitted when this instance is deleted. | |
| Signal< const Data * > | signalMatrixChanged |
| Signal emitted when the transformation of this Data has changed. | |
| Signal< std::string > | signalNameChanged |
| Signal emitted when the name changed. | |
| Public Attributes inherited from ImFusion::CompoundData | |
| Signal< Data * > | signalChildAdded |
| Signal emitted when a new Data instance has been added to children(). | |
| Signal< Data * > | signalChildMoved |
| Signal emitted when a Data instance has changed its position in children(). | |
| Signal< Data * > | signalChildAboutToBeRemoved |
| Signal emitted when a Data instance is about to be removed or taken from children(). | |
| Public Attributes inherited from ImFusion::Selectable | |
| ProtectedSignal | signalSelectionChanged |
| Signals that the selection or size might have changed. | |
| Protected Attributes inherited from ImFusion::AnatomicalStructure | |
| mat4 | m_matrixToWorld = mat4::Identity() |
| KeyValueStore< vec3 > | m_keypoints {m_matrixToWorld} |
| KeyValueStore< vec4 > | m_planes {m_matrixToWorld} |
| KeyValueStore< std::unique_ptr< Spline > > | m_splines {m_matrixToWorld} |
| KeyValueStore< std::unique_ptr< SharedImageSet > > | m_images {m_matrixToWorld} |
| KeyValueStore< std::unique_ptr< Mesh > > | m_meshes {m_matrixToWorld} |
| KeyValueStore< std::unique_ptr< PointCloud > > | m_pointClouds {m_matrixToWorld} |
| KeyValueStore< std::unique_ptr< Graph > > | m_graphs {m_matrixToWorld} |
| KeyValueStore< AnatomicalStructureDeformation > | m_deformations {m_matrixToWorld} |
| Properties | m_attributes |
| General properties object for the Anatomical Structure. | |
| bool | m_is2D |
| Indicates if the AnatomicalStructure information is in 2D or, if false, in 3D. | |
| Protected Attributes inherited from ImFusion::Configurable | |
| std::vector< Param > | m_params |
| List of all registered Parameter and SubProperty instances. | |
| Protected Attributes inherited from ImFusion::Data | |
| mat4 | m_matrix |
| Transformation matrix. | |
| std::recursive_mutex * | m_matrixMutex |
| Used to internally synchronize access to the matrix of data. | |
| DataComponentList | m_dataComponentList |
| The list of DataComponents for this data. | |
| Protected Attributes inherited from ImFusion::Selectable | |
| std::mutex | m_selectionMutex |
| Mutex protecting the selection. | |
| Selection | m_sel |
|
inlineoverridevirtual |
Data interface.
Implements ImFusion::Data.
|
overridevirtual |
Returns the axis-aligned bounding box of this data in world space.
Reimplemented from ImFusion::AnatomicalStructureCollection.
|
overridevirtual |
A (human-readable) description of this anatomy.
Reimplemented from ImFusion::AnatomicalStructure.
|
overridevirtual |
Set the transformation matrix.
m depends on the concrete derived class implementation, with either a matrix mapping to or from the world coordinate system being expected. Only use if convention is explicitly known. Use methods setMatrixFromWorld or setMatrixToWorld to avoid inconsistencies. The default implementation sets m_matrix. Reimplemented from ImFusion::Data.
|
overridevirtual |
Set the local to world matrix of this object.
If synchronizeWorld is true, then the local representation of all objects owned by this class are used to update the "world" representations. If synchronizeWorld is false, then the local representations are updated based on the "world" representations,
Reimplemented from ImFusion::AnatomicalStructureCollection.
|
inlineoverridevirtual |
AnatomicalStructureCollection interface.
Implements ImFusion::AnatomicalStructureCollection.
|
overridevirtual |
Returns the anatomical structure at index index.
Implements ImFusion::AnatomicalStructureCollection.
|
overridevirtual |
Returns the anatomical structure at index index.
Implements ImFusion::AnatomicalStructureCollection.
|
overridevirtual |
Return the index corresponding to a given anatomical structure.
If the anatomical structure is not included in this AnatomicalStructureCollection object, -1 is returned.
Reimplemented from ImFusion::AnatomicalStructureCollection.
|
overridevirtual |
Take an anatomical structure from this collection.
Reimplemented from ImFusion::AnatomicalStructureCollection.
|
overridevirtual |
Add an anatomical structure to this collection.
Returns false if the anatomical structure that is being added is not supported
Reimplemented from ImFusion::AnatomicalStructureCollection.
|
inlineoverridevirtual |
A (machine-readable) name of the anatomy.
Implements ImFusion::AnatomicalStructure.
|
inlineoverridevirtual |
String differentiating the type of Anatomical Structure For imfusion types, these strings should start with "imfusion." Used for (de)serialization.
Implements ImFusion::AnatomicalStructure.
|
inlineoverrideprotectedvirtual |
Implements ImFusion::AnatomicalStructure.
|
overrideprotectedvirtual |
Derived classes may override this, but should call the base class cloneImpl to obtain a (unique-ptr) which they may assume to point to an object of the derived class.
This is done using the (virtual) construct function (see below).
Reimplemented from ImFusion::AnatomicalStructure.