case class MutualInformationMetric[D, A](fixedImage: Field[D, A], fixedImageDomain: DiscreteImageDomain[D], movingImage: DifferentiableField[D, A], transformationSpace: TransformationSpace[D], sampler: Sampler[D], numberOfBins: Int = 30)(implicit evidence$1: NDSpace[D], evidence$2: Scalar[A], rng: Random) extends ImageMetric[D, A] with Product with Serializable
Implementation of the Mutual Information Metric, described in the following paper:
Mattes, David, et al. "PET-CT image registration in the chest using free-form deformations." IEEE transactions on medical imaging 22.1 (2003): 120-128.
- fixedImage
The fixed image
- fixedImageDomain
The domain of the fixed image. All grid points of the domain are used to compute image characteristics such as e.g. the minimum/maximum value, etc.
- movingImage
The moving image
- transformationSpace
The transformation space that is used
- sampler
The sampler, which samples the points on which the mutual information is computed. For this metric the recommended choice is a random sampler (which combined with a gradient descent algorithm leads to a stochastic gradient descent.
- numberOfBins
The number of bins used for the intensity histograms (which approximates the joint distribution)
- Alphabetic
- By Inheritance
- MutualInformationMetric
- Serializable
- Product
- Equals
- ImageMetric
- RegistrationMetric
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MutualInformationMetric(fixedImage: Field[D, A], fixedImageDomain: DiscreteImageDomain[D], movingImage: DifferentiableField[D, A], transformationSpace: TransformationSpace[D], sampler: Sampler[D], numberOfBins: Int = 30)(implicit arg0: NDSpace[D], arg1: Scalar[A], rng: Random)
- fixedImage
The fixed image
- fixedImageDomain
The domain of the fixed image. All grid points of the domain are used to compute image characteristics such as e.g. the minimum/maximum value, etc.
- movingImage
The moving image
- transformationSpace
The transformation space that is used
- sampler
The sampler, which samples the points on which the mutual information is computed. For this metric the recommended choice is a random sampler (which combined with a gradient descent algorithm leads to a stochastic gradient descent.
- numberOfBins
The number of bins used for the intensity histograms (which approximates the joint distribution)
Type Members
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def _computeJointHistogram(parameters: DenseVector[Double], points: Seq[Point[D]]): JointHistogram
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def derivative(params: DenseVector[Double]): DenseVector[Double]
Computes the derivate of the Mutual Information for the given parameters
Computes the derivate of the Mutual Information for the given parameters
- Definition Classes
- MutualInformationMetric → RegistrationMetric
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val fixedImage: Field[D, A]
- Definition Classes
- MutualInformationMetric → ImageMetric
- val fixedImageDomain: DiscreteImageDomain[D]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val movingImage: DifferentiableField[D, A]
- Definition Classes
- MutualInformationMetric → ImageMetric
- val ndSpace: NDSpace[D]
- Definition Classes
- MutualInformationMetric → RegistrationMetric
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val numberOfBins: Int
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val sampler: Sampler[D]
- val scalar: Scalar[A]
- Definition Classes
- MutualInformationMetric → ImageMetric
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val transformationSpace: TransformationSpace[D]
- Definition Classes
- MutualInformationMetric → RegistrationMetric
- def value(params: DenseVector[Double]): Double
Computes the value of the mutual information for the given parameters
Computes the value of the mutual information for the given parameters
- Definition Classes
- MutualInformationMetric → RegistrationMetric
- def valueAndDerivative(params: DenseVector[Double]): ValueAndDerivative
Computes the value and derivative for the given parameters in one go.
Computes the value and derivative for the given parameters in one go.
- Definition Classes
- MutualInformationMetric → RegistrationMetric
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()