Class AbstractShearTransform

java.lang.Object
net.imglib2.transform.integer.shear.AbstractShearTransform
All Implemented Interfaces:
BoundingBoxTransform, InvertibleTransform, Transform
Direct Known Subclasses:
InverseShearTransform, ShearTransform

public abstract class AbstractShearTransform extends Object implements InvertibleTransform, BoundingBoxTransform
Most simple case of a shear transform that just implements for a integer valued coordinate: coordinate[ shearDimension ] += coordinate[ referenceDimension ] (forward) coordinate[ shearDimension ] -= coordinate[ referenceDimension ] (backward) This abstract class holds the inverse and implements applyInverse in terms of inverse.apply
Author:
Philipp Hanslovsky
  • Field Details

    • nDim

      protected final int nDim
    • shearDimension

      protected final int shearDimension
    • referenceDimension

      protected final int referenceDimension
    • inverse

      protected AbstractShearTransform inverse
  • Constructor Details

    • AbstractShearTransform

      protected AbstractShearTransform(int nDim, int shearDimension, int referenceDimension)
    • AbstractShearTransform

      protected AbstractShearTransform(int nDim, int shearDimension, int referenceDimension, AbstractShearTransform inverse)
  • Method Details

    • getReferenceDimension

      public int getReferenceDimension()
    • numSourceDimensions

      public int numSourceDimensions()
      Description copied from interface: Transform
      Returns n, the dimension of the source vector.
      Specified by:
      numSourceDimensions in interface Transform
      Returns:
      the dimension of the source vector.
    • numTargetDimensions

      public int numTargetDimensions()
      Description copied from interface: Transform
      Returns m, the dimension of the target vector.
      Specified by:
      numTargetDimensions in interface Transform
      Returns:
      the dimension of the target vector.
    • numDimensions

      public int numDimensions()
    • getShearDimension

      public int getShearDimension()
    • applyInverse

      public void applyInverse(long[] source, long[] target)
      Description copied from interface: InvertibleTransform
      Apply the inverse transform to a target vector to obtain a source vector.
      Specified by:
      applyInverse in interface InvertibleTransform
      Parameters:
      source - set this to the source coordinates.
      target - target coordinates.
    • applyInverse

      public void applyInverse(int[] source, int[] target)
      Description copied from interface: InvertibleTransform
      Apply the inverse transform to a target vector to obtain a source vector.
      Specified by:
      applyInverse in interface InvertibleTransform
      Parameters:
      source - set this to the source coordinates.
      target - target coordinates.
    • applyInverse

      public void applyInverse(Positionable source, Localizable target)
      Description copied from interface: InvertibleTransform
      Apply the inverse transform to a target Localizable to obtain a source Positionable.
      Specified by:
      applyInverse in interface InvertibleTransform
      Parameters:
      source - set this to the source coordinates.
      target - target coordinates.
    • inverse

      public AbstractShearTransform inverse()
      Description copied from interface: InvertibleTransform
      Get the inverse transform.
      Specified by:
      inverse in interface InvertibleTransform
      Returns:
      the inverse transform
    • getShear

      public abstract long[] getShear()
    • copy

      public abstract AbstractShearTransform copy()