template<class TElastix>
class elastix::MissingStructurePenalty< TElastix >
Computes the (pseudo) volume of the transformed surface mesh of a structure.
A metric based on the itk::MissingStructurePenalty.
- Author
- F.F. Berendsen, Image Sciences Institute, UMC Utrecht, The Netherlands
- Note
- If you use the MissingStructurePenalty anywhere we would appreciate if you cite the following article:
F.F. Berendsen, A.N.T.J. Kotte, A.A.C. de Leeuw, I.M. Juergenliemk-Schulz,
M.A. Viergever and J.P.W. Pluim "Registration of structurally dissimilar \n
images in MRI-based brachytherapy ", Phys. Med. Biol. 59 (2014) 4033-4045.
http://stacks.iop.org/0031-9155/59/4033 The parameters used in this class are:
- Parameters:
Metric: Select this metric as follows:
(Metric "MissingStructurePenalty")
(WriteResultMeshAfterEachIteration "True")
(WriteResultMeshAfterEachResolution "True") The command-line options for input meshes is: -fmesh<[A-Z]><MetricNumber>.
Definition at line 54 of file elxMissingStructurePenalty.h.
|
| using | CellInterfaceType = typename MeshTraitsType::CellType |
| |
| using | CombinationTransformType = itk::AdvancedCombinationTransform< CoordRepType, Self::FixedImageDimension > |
| |
| using | ConstPointer = itk::SmartPointer< const Self > |
| |
| using | CoordRepType = typename OutputPointType::CoordRepType |
| |
| using | FixedImageType = typename ElastixType::FixedImageType |
| |
| using | FixedMeshConstPointer = typename FixedMeshType::ConstPointer |
| |
| using | FixedMeshContainerPointer = typename FixedMeshContainerType::Pointer |
| |
| using | FixedMeshContainerType = VectorContainer< MeshIdType, FixedMeshConstPointer > |
| |
| using | FixedMeshPointer = typename FixedMeshType::Pointer |
| |
| using | FixedMeshType = Mesh< DummyMeshPixelType, FixedPointSetDimension, MeshTraitsType > |
| |
| using | ImageType = FixedImageType |
| |
| using | InitialTransformType = typename CombinationTransformType::InitialTransformType |
| |
| using | ITKBaseType = typename Superclass2::ITKBaseType |
| |
| using | MappedMeshContainerPointer = typename MappedMeshContainerType::Pointer |
| |
| using | MappedMeshContainerType = VectorContainer< MeshIdType, FixedMeshPointer > |
| |
| using | MeshIdType = unsigned int |
| |
| using | MeshType = FixedMeshType |
| |
| using | MovingImageType = typename ElastixType::MovingImageType |
| |
| using | Pointer = itk::SmartPointer< Self > |
| |
| using | PointSetType = FixedPointSetType |
| |
| using | Self = MissingStructurePenalty |
| |
| using | Superclass1 = itk::MissingVolumeMeshPenalty< typename MetricBase< TElastix >::FixedPointSetType, typename MetricBase< TElastix >::MovingPointSetType > |
| |
| using | Superclass2 = MetricBase< TElastix > |
| |
| using | CellInterfaceType = typename MeshTraitsType::CellType |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordRepType = typename OutputPointType::CoordRepType |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | DummyMeshPixelType = unsigned char |
| |
| using | FixedMeshConstPointer = typename FixedMeshType::ConstPointer |
| |
| using | FixedMeshContainerConstPointer = typename FixedMeshContainerType::ConstPointer |
| |
| using | FixedMeshContainerElementIdentifier = typename FixedMeshContainerType::ElementIdentifier |
| |
| using | FixedMeshContainerPointer = typename FixedMeshContainerType::Pointer |
| |
| using | FixedMeshContainerType = VectorContainer< MeshIdType, FixedMeshConstPointer > |
| |
| using | FixedMeshPointer = typename FixedMeshType::Pointer |
| |
| using | FixedMeshPointIdentifier = typename FixedMeshType::PointIdentifier |
| |
| using | FixedMeshType = Mesh< DummyMeshPixelType, FixedPointSetDimension, MeshTraitsType > |
| |
| using | InputPointType = typename TransformType::InputPointType |
| |
| using | MappedMeshContainerConstPointer = typename MappedMeshContainerType::ConstPointer |
| |
| using | MappedMeshContainerPointer = typename MappedMeshContainerType::Pointer |
| |
| using | MappedMeshContainerType = VectorContainer< MeshIdType, FixedMeshPointer > |
| |
| using | MeshIdType = unsigned int |
| |
| using | MeshPointDataContainerConstIteratorType = typename FixedMeshType::PointDataContainerIterator |
| |
| using | MeshPointDataContainerConstPointer = typename FixedMeshType::PointDataContainerConstPointer |
| |
| using | MeshPointDataContainerIteratorType = typename MeshPointDataContainerType::Iterator |
| |
| using | MeshPointDataContainerPointer = typename FixedMeshType::PointDataContainerPointer |
| |
| using | MeshPointDataContainerType = typename FixedMeshType::PointDataContainer |
| |
| using | MeshPointsContainerConstIteratorType = typename FixedMeshType::PointsContainerConstIterator |
| |
| using | MeshPointsContainerConstPointer = typename MeshPointsContainerType::ConstPointer |
| |
| using | MeshPointsContainerIteratorType = typename FixedMeshType::PointsContainerIterator |
| |
| using | MeshPointsContainerPointer = typename MeshPointsContainerType::Pointer |
| |
| using | MeshPointsContainerType = typename FixedMeshType::PointsContainer |
| |
| using | MeshPointsDerivativeValueType = Array< DerivativeValueType > |
| |
| using | MeshPointType = typename FixedMeshType::PointType |
| |
| using | MeshTraitsType = DefaultStaticMeshTraits< DummyMeshPixelType, FixedPointSetDimension, FixedPointSetDimension, CoordRepType > |
| |
| using | NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType |
| |
| using | OutputPointType = typename TransformType::OutputPointType |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | Self = MissingVolumeMeshPenalty |
| |
| using | SubVectorType = itk::Vector< typename VectorType::ValueType, FixedPointSetDimension - 1 > |
| |
| using | Superclass = SingleValuedPointSetToPointSetMetric< MetricBase< TElastix >::FixedPointSetType, MetricBase< TElastix >::MovingPointSetType > |
| |
| using | TransformJacobianType = typename TransformType::JacobianType |
| |
| using | TransformParametersType = typename TransformType::ParametersType |
| |
| using | TransformPointer = typename TransformType::Pointer |
| |
| using | TransformType = AdvancedTransform< CoordinateRepresentationType, Self::FixedPointSetDimension, Self::MovingPointSetDimension > |
| |
| using | VectorConstPointer = typename VectorType::const_pointer |
| |
| using | VectorType = typename FixedMeshType::PointType::VectorType |
| |
| using | VnlVectorType = vnl_vector< CoordRepType > |
| |
| using | ConstPointer = SmartPointer< const Self > |
| |
| using | CoordinateRepresentationType = Superclass::ParametersValueType |
| |
| using | DerivativeValueType = typename DerivativeType::ValueType |
| |
| using | FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer |
| |
| using | FixedImageMaskPointer = typename FixedImageMaskType::Pointer |
| |
| using | FixedImageMaskType = ImageMaskSpatialObject< Self::FixedPointSetDimension > |
| |
| using | FixedPointSetConstPointer = typename FixedPointSetType::ConstPointer |
| |
| using | FixedPointSetPixelType = typename FixedPointSetType::PixelType |
| |
| using | FixedPointSetType = TFixedPointSet |
| |
| using | InputPointType = typename TransformType::InputPointType |
| |
| using | MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer |
| |
| using | MovingImageMaskPointer = typename MovingImageMaskType::Pointer |
| |
| using | MovingImageMaskType = ImageMaskSpatialObject< Self::MovingPointSetDimension > |
| |
| using | MovingPointSetConstPointer = typename MovingPointSetType::ConstPointer |
| |
| using | MovingPointSetPixelType = typename MovingPointSetType::PixelType |
| |
| using | MovingPointSetType = TMovingPointSet |
| |
| using | NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType |
| |
| using | OutputPointType = typename TransformType::OutputPointType |
| |
| using | PointDataIterator = typename FixedPointSetType::PointDataContainer::ConstIterator |
| |
| using | Pointer = SmartPointer< Self > |
| |
| using | PointIterator = typename FixedPointSetType::PointsContainer::ConstIterator |
| |
| using | Self = SingleValuedPointSetToPointSetMetric |
| |
| using | Superclass = SingleValuedCostFunction |
| |
| using | TransformJacobianType = typename TransformType::JacobianType |
| |
| using | TransformParametersType = typename TransformType::ParametersType |
| |
| using | TransformPointer = typename TransformType::Pointer |
| |
| using | TransformType = AdvancedTransform< CoordinateRepresentationType, Self::FixedPointSetDimension, Self::MovingPointSetDimension > |
| |
| using | AdvancedMetricType = itk::AdvancedImageToImageMetric< FixedImageType, MovingImageType > |
| |
| using | CoordinateRepresentationType = typename ITKBaseType::ParametersValueType |
| |
| using | ElastixType = TElastix |
| |
| using | FixedImageType = typename ElastixType::FixedImageType |
| |
| using | FixedPointSetType = itk::PointSet< CoordinateRepresentationType, FixedImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, FixedImageDimension, FixedImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > |
| |
| using | FixedPointType = typename FixedImageType::PointType |
| |
| using | FixedPointValueType = typename FixedPointType::ValueType |
| |
| using | ImageSamplerBaseType = typename AdvancedMetricType::ImageSamplerType |
| |
| using | ITKBaseType = itk::SingleValuedCostFunction |
| |
| using | MeasureType = typename ITKBaseType::MeasureType |
| |
| using | MovingImageDerivativeScalesType = typename AdvancedMetricType::MovingImageDerivativeScalesType |
| |
| using | MovingImageType = typename ElastixType::MovingImageType |
| |
| using | MovingPointSetType = itk::PointSet< CoordinateRepresentationType, MovingImageDimension, itk::DefaultStaticMeshTraits< CoordinateRepresentationType, MovingImageDimension, MovingImageDimension, CoordinateRepresentationType, CoordinateRepresentationType, CoordinateRepresentationType > > |
| |
| using | MovingPointType = typename MovingImageType::PointType |
| |
| using | MovingPointValueType = typename MovingPointType::ValueType |
| |
| using | RegistrationType = typename ElastixType::RegistrationBaseType |
| |
| using | Self = MetricBase |
| |
| using | Superclass = BaseComponentSE< TElastix > |
| |
| using | ElastixType = TElastix |
| |
| using | RegistrationType = typename ElastixType::RegistrationBaseType |
| |
| using | Self = BaseComponentSE |
| |
| using | Superclass = BaseComponent |
| |
|
| void | AfterEachIteration () override |
| |
| void | AfterEachResolution () override |
| |
| int | BeforeAllBase () override |
| |
| void | BeforeRegistration () override |
| |
| | elxClassNameMacro ("MissingStructurePenalty") |
| |
| virtual const char * | GetClassName () const |
| |
| void | Initialize () override |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (MissingStructurePenalty) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| |
| unsigned int | ReadMesh (const std::string &meshFileName, typename FixedMeshType::Pointer &mesh) |
| |
| unsigned int | ReadTransformixPoints (const std::string &filename, typename MeshType::Pointer &mesh) |
| |
| void | SelectNewSamples () override |
| |
| void | WriteResultMesh (const std::string &filename, MeshIdType meshId) |
| |
| void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &Derivative) const override |
| |
| virtual const FixedMeshContainerType * | GetFixedMeshContainer () |
| |
| MeasureType | GetValue (const TransformParametersType ¶meters) const override |
| |
| void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override |
| |
| void | Initialize () override |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (MissingVolumeMeshPenalty) |
| |
| | itkGetModifiableObjectMacro (MappedMeshContainer, MappedMeshContainerType) |
| |
| | itkStaticConstMacro (FixedPointSetDimension, unsigned int, Superclass::FixedPointSetDimension) |
| |
| | itkStaticConstMacro (MovingPointSetDimension, unsigned int, Superclass::MovingPointSetDimension) |
| |
| virtual void | SetFixedMeshContainer (const FixedMeshContainerType *_arg) |
| |
| virtual void | SetMappedMeshContainer (MappedMeshContainerType *_arg) |
| |
| virtual void | BeforeThreadedGetValueAndDerivative (const TransformParametersType ¶meters) const |
| |
| virtual const FixedImageMaskType * | GetFixedImageMask () |
| |
| virtual const FixedPointSetType * | GetFixedPointSet () |
| |
| virtual const MovingImageMaskType * | GetMovingImageMask () |
| |
| virtual const MovingPointSetType * | GetMovingPointSet () |
| |
| unsigned int | GetNumberOfParameters () const override |
| |
| virtual const TransformType * | GetTransform () |
| |
| virtual const bool & | GetUseMetricSingleThreaded () |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (SingleValuedPointSetToPointSetMetric) |
| |
| | itkStaticConstMacro (FixedPointSetDimension, unsigned int, TFixedPointSet::PointDimension) |
| |
| | itkStaticConstMacro (MovingPointSetDimension, unsigned int, TMovingPointSet::PointDimension) |
| |
| virtual void | SetFixedImageMask (const FixedImageMaskType *_arg) |
| |
| virtual void | SetFixedPointSet (const FixedPointSetType *_arg) |
| |
| virtual void | SetMovingImageMask (const MovingImageMaskType *_arg) |
| |
| virtual void | SetMovingPointSet (const MovingPointSetType *_arg) |
| |
| virtual void | SetTransform (TransformType *_arg) |
| |
| void | SetTransformParameters (const ParametersType ¶meters) const |
| |
| virtual void | SetUseMetricSingleThreaded (bool _arg) |
| |
| virtual void | UseMetricSingleThreadedOff () |
| |
| virtual void | UseMetricSingleThreadedOn () |
| |
| void | AfterEachIterationBase () override |
| |
| void | BeforeEachResolutionBase () override |
| |
| virtual ImageSamplerBaseType * | GetAdvancedMetricImageSampler () const |
| |
| virtual bool | GetAdvancedMetricUseImageSampler () const |
| |
| ITKBaseType * | GetAsITKBaseType () |
| |
| const ITKBaseType * | GetAsITKBaseType () const |
| |
| virtual MeasureType | GetCurrentExactMetricValue () const |
| |
| virtual bool | GetShowExactMetricValue () const |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (MetricBase) |
| |
| | itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) |
| |
| | itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) |
| |
| virtual void | SetAdvancedMetricImageSampler (ImageSamplerBaseType *sampler) |
| |
| void | AddTargetCellToIterationInfo (const char *const name) |
| |
| const Configuration * | GetConfiguration () const |
| |
| ElastixType * | GetElastix () const |
| |
| auto & | GetIterationInfoAt (const char *const name) |
| |
| RegistrationType * | GetRegistration () const |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) |
| |
| void | RemoveTargetCellFromIterationInfo (const char *const name) |
| |
| void | SetConfiguration (const Configuration *_arg) |
| |
| void | SetElastix (ElastixType *_arg) |
| |
| virtual void | AfterEachResolutionBase () |
| |
| virtual void | AfterRegistration () |
| |
| virtual void | AfterRegistrationBase () |
| |
| virtual int | BeforeAll () |
| |
| virtual void | BeforeEachResolution () |
| |
| virtual void | BeforeRegistrationBase () |
| |
| virtual const char * | elxGetClassName () const |
| |
| const char * | GetComponentLabel () const |
| |
| | ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) |
| |
| | itkTypeMacroNoParent (BaseComponent) |
| |
| void | SetComponentLabel (const char *label, unsigned int idx) |
| |