Class PermutationTransform
java.lang.Object
net.imglib2.transform.integer.permutation.AbstractPermutationTransform
net.imglib2.transform.integer.permutation.PermutationTransform
- All Implemented Interfaces:
InvertibleTransform
,Transform
Bijective integer transform mapping between integer coordinates in [0,n-1].
- Author:
- Stephan Saalfeld, Philipp Hanslovsky
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final int
protected final int
Fields inherited from class net.imglib2.transform.integer.permutation.AbstractPermutationTransform
inverseLut, lut
-
Constructor Summary
ConstructorsConstructorDescriptionPermutationTransform
(int[] lut, int numSourceDimensions, int numTargetDimensions) -
Method Summary
Modifier and TypeMethodDescriptionvoid
apply
(int[] source, int[] target) Apply theTransform
to a source vector to obtain a target vector.void
apply
(long[] source, long[] target) Apply theTransform
to a source vector to obtain a target vector.void
apply
(Localizable source, Positionable target) void
applyInverse
(int[] source, int[] target) Apply the inverse transform to a target vector to obtain a source vector.void
applyInverse
(long[] source, long[] target) Apply the inverse transform to a target vector to obtain a source vector.void
applyInverse
(Positionable source, Localizable target) Apply the inverse transform to a targetLocalizable
to obtain a sourcePositionable
.static boolean
checkInterval
(Interval interval, int[] lut) Test whether a given lut can be applied to an interval.inverse()
Get the inverse transform.int
Returns n, the dimension of the source vector.int
Returns m, the dimension of the target vector.Methods inherited from class net.imglib2.transform.integer.permutation.AbstractPermutationTransform
apply, applyChecked, applyInverse, applyInverseChecked, checkBijectivity, getInverseLutCopy, getLutCopy
-
Field Details
-
numSourceDimensions
protected final int numSourceDimensions -
numTargetDimensions
protected final int numTargetDimensions
-
-
Constructor Details
-
PermutationTransform
public PermutationTransform(int[] lut, int numSourceDimensions, int numTargetDimensions) - Parameters:
lut
- must be a bijective permutation over its index set, i.e. for a lut of length n, the sorted content the array must be [0,...,n-1] which is the index set of the lut.numSourceDimensions
-numTargetDimensions
-
-
-
Method Details
-
numSourceDimensions
public int numSourceDimensions()Description copied from interface:Transform
Returns n, the dimension of the source vector.- Returns:
- the dimension of the source vector.
-
numTargetDimensions
public int numTargetDimensions()Description copied from interface:Transform
Returns m, the dimension of the target vector.- Returns:
- the dimension of the target vector.
-
apply
public void apply(long[] source, long[] target) Description copied from interface:Transform
Apply theTransform
to a source vector to obtain a target vector.- Parameters:
source
- source coordinates.target
- set this to the target coordinates.
-
apply
public void apply(int[] source, int[] target) Description copied from interface:Transform
Apply theTransform
to a source vector to obtain a target vector.- Parameters:
source
- source coordinates.target
- set this to the target coordinates.
-
apply
Description copied from interface:Transform
- Parameters:
source
- source coordinates.target
- set this to the target coordinates.
-
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.- 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.- Parameters:
source
- set this to the source coordinates.target
- target coordinates.
-
applyInverse
Description copied from interface:InvertibleTransform
Apply the inverse transform to a targetLocalizable
to obtain a sourcePositionable
.- Parameters:
source
- set this to the source coordinates.target
- target coordinates.
-
inverse
Description copied from interface:InvertibleTransform
Get the inverse transform.- Returns:
- the inverse transform
-
checkInterval
Test whether a given lut can be applied to an interval. This means that the interval is a hypercube at min = 0n with size = lut.length.- Parameters:
interval
-lut
-- Returns:
-