26class CSOVoxelSetGroup;
55 int numCSOVoxelSet()
const {
return static_cast<int>(_csoVoxelSets.size()); }
113 std::vector<CSOVoxelSet*> _csoVoxelSets;
115 std::vector<CSOVoxelSetGroup*> _csoVoxelSetGroups;
123 void _loadVersion(
TreeNode* parent,
int version);
#define MLCSO_EXPORT
Defines export symbols for classes, so they can be used in other DLLs.
Class representing general ML objects that support import/export via strings (setPersistentState() an...
A CSOList comprises a number of CSOs and CSOGroups and is the central object for contour segmentation...
CSOVoxelSetList()
Standard constructor.
void addOrReplaceCSOVoxelSetWithId(int id, const CSOVoxelSet &other)
Adds or replaces an existing CSOVoxelSet in this list.
CSOVoxelSet * addCSOVoxelSet()
Adds and returns a new CSOVoxelSet.
void setVoxelToWorldMatrix(const Matrix4 &voxelToWorldMatrix)
Sets the voxelToWorldMatrix.
int numCSOVoxelSetGroup() const
Returns the number of CSOVoxelSetGroups.
void setSubImageBox(const SubImageBox &subImageBox)
Sets the SubImageBox.
void setupInternalStructureAsCSOList(CSOList *csoList, PagedImage *image=nullptr)
Establishes the internal structure as the given CSOList.
void removeCSOVoxelSetWithId(int id)
Removes a CSOVoxelSet.
CSOVoxelSetGroup * addCSOVoxelSetGroup()
Adds and returns a new CSOVoxelSetGroup.
void setupInternalStructureAsImage(const PagedImage *image)
Establishes the internal structure fitting to the given image.
const SubImageBox & getImageBox() const
Returns the image box (which is empty if no valid PagedImage was available).
int getMaxTimepointIndex() const
Computes and returns the maximum timepoint index.
int numCSOVoxelSet() const
Returns the number of CSOVoxelSets.
bool isInsideImage(const Vector3 &position)
Returns whether a given position is inside the association image.
void destroy()
Deletes internal structures.
~CSOVoxelSetList() override
Standard destructor.
MLdouble getMinVoxelValue() const
Computes and returns the minimum voxel value.
CSOVoxelSetGroup * csoVoxelSetGroupWithId(int id)
Returns the pointer to a CSOVoxelSetGroup with a given id. NULL if it does not exist.
MLdouble getMaxVoxelValue() const
Computes and returns the maximum voxel value.
CSOVoxelSet * csoVoxelSetWithId(int id)
Returns the pointer to a CSOVoxelSet with a given id. NULL if it does not exist.
CSOVoxelSet * csoVoxelSetAt(size_t index) const
Returns the pointer to a CSOVoxelSet at a given index.
void readStateFromTree(TreeNode *parent) override
Implements import functionality (as used by the LoadBase module):
CSOVoxelSetGroup * csoVoxelSetGroupAt(size_t index) const
Returns the pointer to a CSOVoxelSetGroup at a given index.
void addStateToTree(TreeNode *parent) const override
ML_SET_ADDSTATE_VERSION(2)
Matrix4 getVoxelToWorldMatrix() const
Returns the image matrix if a valid PagedImage was set. Otherwise returns the identity matrix.
The CSOVoxelSet represents a contour segmentation object in discrete voxel coordinates.
Class which represents an image, which manages properties of an image and image data which is located...
The class TreeNode is the abstract base class for the import/export of ML objects.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.