Class for performing image registration using local feature descriptors.
This algorithm performs the following steps: 1) Preprocess the fixed and moving images to prepare them for feature extraction. This consists of resampling to p_spacing and baking-in the rotation. 2) Extract feature descriptors using either DISAFeaturesAlgorithm or MINDDescriptorAlgorithm depending on p_descriptorType 3) Computes the weight for the moving image features according to p_weightType. See WeightType. 4) Instantiates and uses FeatureMapsRegistrationAlgorithm to register the feature descriptors images. The computed registration is then applied to the moving image.
|
| | DescriptorsRegistrationAlgorithm (SharedImageSet &fixed, SharedImageSet &moving, SharedImageSet *movingWeight=nullptr) |
| | Constructor for DescriptorsRegistrationAlgorithm.
|
| |
| void | compute () override |
| | Computes the feature descriptors and instantiates the feature registration algorithm.
|
| |
|
void | initializePose () |
| | Centers the pose of the moving image wrt the fixed image.
|
| |
|
void | localRegistration () |
| | High level method that performs local registration. Make use of registrationAlgorithm() to get low level controls on the registration.
|
| |
|
void | globalRegistration () |
| | High level method that performs global registration. Make use of registrationAlgorithm() to get low level controls on the registration.
|
| |
| bool | setMovingVolume (SharedImageSet &moving, SharedImageSet *movingWeight=nullptr) |
| | Set a different moving volume and recomputes its feature descriptors.
|
| |
|
OwningDataList | takeDescriptors () |
| |
|
std::unique_ptr< ImageRegistration > | imageRegistration (bool swapMoving=false) |
| |
|
SharedImageSet * | moving () |
| | The moving unprocessed moving image.
|
| |
|
SharedImageSet * | fixed () |
| | The moving unprocessed fixed image.
|
| |
|
SharedImageSet * | weight () const |
| | The weight assigned to the moving image.
|
| |
|
std::shared_ptr< FeatureMapsRegistrationAlgorithm > | registrationAlgorithm () |
| | Returns a shared pointer to the algorithm used for feature maps registration.
|
| |
|
SharedImageSet * | processedMoving () const |
| | Returns the processed (rotation baked-in, resampled, normalized) moving image.
|
| |
|
SharedImageSet * | processedFixed () const |
| | Returns the processed (rotation baked-in, resampled, normalized) fixed image.
|
| |
|
const SharedImageSet * | featuresMoving () const |
| | Returns a pointer to the feature descriptors extracted from the moving image.
|
| |
|
const SharedImageSet * | featuresFixed () const |
| | Returns a pointer to the feature descriptors extracted from the fixed image.
|
| |
| std::unique_ptr< SharedImageSet > | heatmap (const vec3 &pointWorld) |
| | Heatmap describing how similar the point pointWorld on the moving image is to every point on the fixed image.
|
| |
|
Algorithm * | disa () |
| | Algorithm used to compute DISA features.
|
| |
|
void | setModelPaths (std::string fixedVolumeModelPath, std::string movingVolumeModelPath="") |
| | Sets custom ML models for extracting descriptors.
|
| |
|
PoseHistory & | poseHistory () |
| |
| 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.
|
| |
| | Algorithm () |
| | Default constructor will registers a single "compute" action that calls compute() and returns status().
|
| |
| virtual OwningDataList | takeOutput () |
| | Return any new Data that was created by the Algorithm during the last call to compute().
|
| |
| virtual void | setProgress (Progress *progress) |
| | Sets a Progress interface the algorithm can use to notify observers about its computing progress.
|
| |
|
Progress * | progress () const |
| | Returns the progress interface if set.
|
| |
| virtual int | status () const |
| | Indicates the status of the last call to compute().
|
| |
| virtual bool | survivesDataDeletion (const Data *) const |
| | Indicates whether the algorithm can handle (partial) deletion of the specified data, by default this checks whether the data is in the input list.
|
| |
| const FactoryInfo & | factoryInfo () const |
| | Returns the record describing how this Algorithm was instantiated by the AlgorithmFactory.
|
| |
|
void | setFactoryInfo (const FactoryInfo &value) |
| | Sets the record describing how this Algorithm was instantiated by the AlgorithmFactory.
|
| |
| Status | runAction (const std::string &id) |
| | Run the action with name id if it exists.
|
| |
|
const std::vector< Action > & | actions () |
| | Get a mapping from Action id to Action as registered in this algorithm.
|
| |
| 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.
|
| |
|
|
Parameter< double > | p_spacing = {"spacing", 1.0, this} |
| |
|
Parameter< DescriptorType > | p_descriptorType = {"descriptorType", DescriptorType::DISA, this} |
| |
|
Parameter< Transformation > | p_transformation = {"transformation", Transformation::Rigid, this} |
| |
|
Parameter< WeightType > | p_weightType = {"weightType", WeightType::ImageVariance, this} |
| |
|
Parameter< bool > | p_customWeightPremultiplied = {"customWeightPremultiplied", true, this} |
| | Whether the custom weight is pre-multiplied by the variance of the moving image.
|
| |
|
SubProperty< GlobalRegistrationConfig > | p_globalRegistration = {"globalRegistration", GlobalRegistrationConfig(), this} |
| |
|
Signal | signalOutputChanged |
| | Signal should be emitted by Algorithms when their output/result has changed.
|
| |
|
Signal | signalParametersChanged |
| | Signal should be emitted by Algorithms when their parameter configuration has changed.
|
| |
|
Signal | signalParametersChanged |
| | Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
|
| |