ImFusion C++ SDK 4.5.0
ImFusion::ML::SISBasedElement Class Reference

#include <ImFusion/ML/DataElements/SISBasedElement.h>

Interface for DataElement based on SharedImageSet. More...

Inheritance diagram for ImFusion::ML::SISBasedElement:

Detailed Description

Interface for DataElement based on SharedImageSet.

This is not an actual element type but it will be used as the base class for VectorElement and ImageElement.

Public Member Functions

 SISBasedElement (std::shared_ptr< SharedImageSet > data)
int dimension () const override
 Returns the dimensionality of the underlying data.
size_t batchSize () const override
 Returns the batch size of the element.
void setContent (std::shared_ptr< Data > sis) override
 Sets the underlying data.
std::shared_ptr< SharedImageSetsis () const
 Get the underlying SharedImageSet.
void setSis (std::shared_ptr< SharedImageSet > sis)
 Sets the underlying SharedImageSet.
Public Member Functions inherited from ImFusion::ML::DataElement
virtual ElementType type () const =0
 Returns the type of the underlying data.
template<typename Derived>
Derived * typed ()
template<typename Derived>
const Derived * typed () const
virtual std::shared_ptr< Datacontent () const
 Returns the underlying data object.
virtual std::vector< std::shared_ptr< DataElement > > split ()=0
 Split an element into several ones along the batch dimension.
virtual std::unique_ptr< DataElementclone (CloneOptions opt=CloneOptions::Everything) const =0
 Create a (shallow or deep) copy of the element.
const DataComponentListcomponents () const
 Convenience function to expose the DataComponents of the underlying Data object.
DataComponentListcomponents ()
bool isTarget () const
 Returns true if this element is marked as a label.
void tagAsTarget ()
 Mark this element as being a label.
void untagAsTarget ()
 Remove label status from this element.

Protected Member Functions

std::vector< std::shared_ptr< SharedImageSet > > splitToSIS ()
std::unique_ptr< SharedImageSetcloneToSIS (CloneOptions opt=CloneOptions::Everything) const
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

Static Protected Member Functions

static std::unique_ptr< SharedImageSetstackToSIS (const std::vector< std::shared_ptr< SISBasedElement > > &elements)

Protected Attributes

SharedImageSetm_sis = nullptr
Protected Attributes inherited from ImFusion::ML::DataElement
std::shared_ptr< Datam_data

Additional Inherited Members

Public Types inherited from ImFusion::ML::DataElement
enum class  CloneOptions { Everything = 0 , Shallow , Container , NoImageData }
 Option to control which parts of the data element are to be copied when cloning the DataElement. More...
Static Public Member Functions inherited from ImFusion::ML::DataElement
static std::unique_ptr< DataElementstack (const std::vector< std::shared_ptr< DataElement > > &elements)
 Stack several elements along the batch dimension.

Member Function Documentation

◆ dimension()

int ImFusion::ML::SISBasedElement::dimension ( ) const
overridevirtual

Returns the dimensionality of the underlying data.

Implements ImFusion::ML::DataElement.

Reimplemented in ImFusion::ML::VectorElement.

◆ batchSize()

size_t ImFusion::ML::SISBasedElement::batchSize ( ) const
overridevirtual

Returns the batch size of the element.

Implements ImFusion::ML::DataElement.

◆ setContent()

void ImFusion::ML::SISBasedElement::setContent ( std::shared_ptr< Data > sis)
overridevirtual

Sets the underlying data.

Exceptions
DataElementExceptionif sis is nullptr or not of type SharedImageSet

Implements ImFusion::ML::DataElement.

◆ setSis()

void ImFusion::ML::SISBasedElement::setSis ( std::shared_ptr< SharedImageSet > sis)

Sets the underlying SharedImageSet.

Exceptions
DataElementExceptionif sis is nullptr

The documentation for this class was generated from the following file:
  • ImFusion/ML/DataElements/SISBasedElement.h
Search Tab / S to search, Esc to close