|
| bool | isProjectCompatible () const override |
| bool | isProjectCompatible (const Project::ProjectTypes &, bool) const override |
| bool | areActiveLayersCompatible () const override |
| bool | isDataSetCompatible (const DataSet &) const override |
| void | dataSetChanged () override |
| QIcon | icon () const override |
| QString | text () const override |
| QString | description () const override |
| QString | docPath () const override |
| bool | isReadOnly () const override |
| QWidget * | ui (QWidget *parent=nullptr) override |
| void | activate () override |
| void | deactivate () override |
| void | configure (const Properties *p) override |
| | Configure this object instance by de-serializing the given Properties.
|
| void | configuration (Properties *p) const override |
| | Serialize the current object configuration into the given Properties object.
|
| bool | inputEvent (QEvent *event) override |
|
virtual void | init () |
| 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 |
|
| 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.
|
|
| static MappingResult | mapAndCompactComponents (TypedImage< unsigned char > &componentsImage, const std::unordered_map< unsigned char, unsigned char > &mapping={}, std::optional< std::array< bool, 256 > > usedComponents=std::nullopt) |
| | Maps components to different values and afterwards compacts them so that only consecutive components are used.
|
| static unsigned int | splitComponentsAlongSlice (SharedImageSet &componentsImage, const Slice &slice, const std::set< unsigned char > &lockedComponents, std::string &warning) |
| | Split the components along the given plane (represented by the Slice).
|
| static std::unordered_map< unsigned char, unsigned char > | reassignLockedLabels (const TypedImage< unsigned char > &labelmap, TypedImage< unsigned char > &componentsImage, int &numberOfComponents, std::array< bool, 256 > lockedLabels, std::unordered_map< unsigned char, size_t > mapLabelToTypeIndex) |
| | Re-assign the components for all locked labels.
|
| unsigned int ImFusion::ConnectedComponentsAction::splitComponentsAlongSlice |
( |
SharedImageSet & | componentsImage, |
|
|
const Slice & | slice, |
|
|
const std::set< unsigned char > & | lockedComponents, |
|
|
std::string & | warning ) |
|
static |
Split the components along the given plane (represented by the Slice).
Components that are intersected by the plane will be split into two components. The component for a pixel is decided according to which side of the plane the pixel center is. Components that are not intersected by the plane will be left unchanged.
When a component gets split, one part will remain the old component value while the other part is assigned a new (so far unused) value.
The lockedComponents contain the pixel values of the componentsImage that are considered locked and will therefore be left unchanged even if intersected by the plane.
In case the final number of components exceeds the maximum number of components (i.e. 255), a user warning is generated and some components will not be split even when intersecting the plane.
The new total number of components is returned.