Class FusionTools
java.lang.Object
net.preibisch.mvrecon.process.fusion.FusionTools
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic floatstatic floatstatic doublestatic doublestatic String[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidadjustBlending(mpicbg.spim.data.generic.sequence.BasicViewDescription<?> vd, float[] blending, float[] border, net.imglib2.realtransform.AffineTransform3D transformationModel) Compute how much blending in the input has to be done so the target values blending and border are achieved in the fused imagestatic voidadjustBlending(net.imglib2.Dimensions dim, String name, float[] blending, float[] border, net.imglib2.realtransform.AffineTransform3D transformationModel) static voidadjustContentBased(mpicbg.spim.data.generic.sequence.BasicViewDescription<?> vd, double[] sigma1, double[] sigma2, double[] usedDownsampleFactors, double anisotropyFactor) Compute how much sigma in the input has to be applied so the target values of sigma1 and 2 are achieved in the fused imagestatic final ArrayList<mpicbg.spim.data.sequence.ViewDescription> assembleInputData(SpimData2 spimData, mpicbg.spim.data.sequence.TimePoint timepoint, mpicbg.spim.data.sequence.Channel channel, List<mpicbg.spim.data.sequence.ViewId> viewIdsToProcess) static <T extends net.imglib2.type.NativeType<T>,A extends net.imglib2.img.basictypeaccess.array.ArrayDataAccess<A>>
net.imglib2.RandomAccessibleInterval<T> cacheRandomAccessibleInterval(net.imglib2.RandomAccessibleInterval<T> input, long maxCacheSize, T type, int... cellDim) static <T extends net.imglib2.type.NativeType<T>>
net.imglib2.RandomAccessibleInterval<T> cacheRandomAccessibleInterval(net.imglib2.RandomAccessibleInterval<T> input, T type, int... cellDim) static <T extends net.imglib2.type.numeric.RealType<T>>
net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> static final <T extends net.imglib2.type.Type<T>>
voidcopyImg(long start, long loopSize, net.imglib2.RandomAccessibleInterval<T> source, net.imglib2.RandomAccessibleInterval<T> target) static <T extends net.imglib2.type.Type<T>>
net.imglib2.RandomAccessibleInterval<T> copyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service) static <T extends net.imglib2.type.Type<T>>
net.imglib2.RandomAccessibleInterval<T> copyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service, boolean showProgress) static <T extends net.imglib2.type.Type<T>>
voidcopyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.RandomAccessibleInterval<T> output, ExecutorService service) static <T extends net.imglib2.type.Type<T>>
voidcopyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.RandomAccessibleInterval<T> output, ExecutorService service, boolean showProgress) static <T extends net.imglib2.type.Type<T>>
net.imglib2.img.Img<T> copyImgNoTranslation(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service) static <T extends net.imglib2.type.Type<T>>
net.imglib2.img.Img<T> copyImgNoTranslation(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service, boolean showProgress) createAnisotropicBoundingBox(net.imglib2.Interval boundingBox, double anisotropy) Creates an anisotropic bounding box by floor/ceil to include all data and provides the affine transformation to scale it to global coordinatescreateDownsampledBoundingBox(net.imglib2.Interval boundingBox, double downsampling) Creates a downsampled bounding box by rounding and provides the affine transformation to scale it to global coordinates, which also corrects for the fact that the fused image is ZEROMIN (TODO: change that)static ij.ImagePlusdisplay(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, FusionTools.ImgDataType imgType) static ij.ImagePlusdisplay(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, FusionTools.ImgDataType imgType, double min, double max, int[] cellDim, int maxCacheSize) static ij.ImagePlusdisplay(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, FusionTools.ImgDataType imgType, int[] cellDim, int maxCacheSize) static ij.ImagePlusstatic ij.ImagePlusdisplayCached(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max) static ij.ImagePlusdisplayCached(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max, int[] cellDim, int maxCacheSize) static ij.ImagePlusdisplayCached(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, int[] cellDim, int maxCacheSize) static ij.ImagePlusstatic ij.ImagePlusdisplayCopy(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max) static ij.ImagePlusdisplayVirtually(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input) static ij.ImagePlusdisplayVirtually(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max) static final Vector<ImagePortion> divideIntoPortions(long imageSize) static final voidstatic final voidfuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<?> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> views, FusionGUI.FusionType fusionType, int interpolation, net.imglib2.Interval boundingBox, Map<? extends mpicbg.spim.data.sequence.ViewId, mpicbg.models.AffineModel1D> intensityAdjustments) fuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<?> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType, net.imglib2.Interval bb) Virtually fuses viewsfuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<?> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType, net.imglib2.Interval bb, Map<? extends mpicbg.spim.data.sequence.ViewId, mpicbg.models.AffineModel1D> intensityAdjustments) Virtually fuses viewsfuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<? extends mpicbg.spim.data.generic.sequence.AbstractSequenceDescription<?, ?, ? extends mpicbg.spim.data.sequence.ImgLoader>> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType) Virtually fuses views using a maximal bounding box around all viewsfuseVirtual(mpicbg.spim.data.generic.sequence.BasicImgLoader imgloader, Map<mpicbg.spim.data.sequence.ViewId, ? extends net.imglib2.realtransform.AffineTransform3D> registrations, Map<mpicbg.spim.data.sequence.ViewId, ? extends mpicbg.spim.data.generic.sequence.BasicViewDescription<?>> viewDescriptions, Collection<? extends mpicbg.spim.data.sequence.ViewId> views, FusionGUI.FusionType fusionType, int interpolation, net.imglib2.Interval boundingBox, Map<? extends mpicbg.spim.data.sequence.ViewId, mpicbg.models.AffineModel1D> intensityAdjustments) fuseVirtual(mpicbg.spim.data.generic.sequence.BasicImgLoader imgloader, Map<mpicbg.spim.data.sequence.ViewId, ? extends net.imglib2.realtransform.AffineTransform3D> registrations, Map<mpicbg.spim.data.sequence.ViewId, ? extends mpicbg.spim.data.generic.sequence.BasicViewDescription<?>> viewDescriptions, Collection<? extends mpicbg.spim.data.sequence.ViewId> views, FusionGUI.FusionType fusionType, net.imglib2.Interval bb) Virtually fuses viewsfuseVirtual(SpimData2 spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType, boolean adjustIntensities) Virtually fuses views using a maximal bounding box around all viewsstatic StringgetAngleName(List<mpicbg.spim.data.sequence.Angle> anglesToProcess) static net.imglib2.Intervalstatic <T extends net.imglib2.type.numeric.RealType<T>>
double[]getFusionMinMax(net.imglib2.RandomAccessibleInterval<T> img, double min, double max) static StringgetIllumName(List<mpicbg.spim.data.sequence.Illumination> illumsToProcess) static <T extends net.imglib2.type.numeric.RealType<T> & net.imglib2.type.NativeType<T>>
ij.ImagePlusgetImagePlusInstance(net.imglib2.RandomAccessibleInterval<T> img, boolean virtualDisplay, String title, double min, double max, ExecutorService service) static doublestatic booleanis2d(Collection<? extends mpicbg.spim.data.generic.sequence.BasicViewDescription<?>> views) static <T extends net.imglib2.type.numeric.RealType<T>>
float[]static <T extends net.imglib2.type.numeric.RealType<T>>
float[]minMax(net.imglib2.RandomAccessibleInterval<T> img, ExecutorService service) static <T extends net.imglib2.type.numeric.RealType<T>>
double[]Deprecated.static <T extends net.imglib2.type.numeric.RealType<T>>
double[]static <T extends net.imglib2.type.numeric.RealType<T>>
double[]minMaxApprox1(net.imglib2.RandomAccessibleInterval<T> img, int numPixels) static <T extends net.imglib2.type.numeric.RealType<T>>
double[]minMaxApprox1(net.imglib2.RandomAccessibleInterval<T> img, Random rnd, int numPixels) static <T extends net.imglib2.type.numeric.RealType<T>>
double[]minMaxAvgApprox1(net.imglib2.RandomAccessibleInterval<T> img, Random rnd, int numPixels) static booleanNormalizes the image to the range [0...1]static booleannormalizeImage(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> img, float min, float max) Normalizes the image to the range [0...1]static booleannormalizeImage(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> img, float min, float max, ExecutorService service) Normalizes the image to the range [0...1]static longnumPixels(long[] dim, double downsampling) static longnumPixels(long[] min, long[] max, double downsampling) static longnumPixels(net.imglib2.Interval bb, double downsampling) static voidrunThreads(Thread[] threads) static <T> net.imglib2.RandomAccessibleInterval<T> translateIfNecessary(net.imglib2.Interval original, net.imglib2.RandomAccessibleInterval<T> copy)
-
Field Details
-
imgDataTypeChoice
-
defaultBlendingRange
public static float defaultBlendingRange -
defaultBlendingBorder
public static float defaultBlendingBorder -
defaultContentBasedSigma1
public static double defaultContentBasedSigma1 -
defaultContentBasedSigma2
public static double defaultContentBasedSigma2
-
-
Constructor Details
-
FusionTools
public FusionTools()
-
-
Method Details
-
numPixels
-
numPixels
public static long numPixels(long[] dim, double downsampling) -
numPixels
public static long numPixels(long[] min, long[] max, double downsampling) -
fuseVirtual
public static net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> fuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<? extends mpicbg.spim.data.generic.sequence.AbstractSequenceDescription<?, ?, ? extends mpicbg.spim.data.sequence.ImgLoader>> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType) Virtually fuses views using a maximal bounding box around all views- Parameters:
spimData- - an AbstractSpimData objectviewIds- - which viewIds to fuse (be careful to remove not present one's first)fusionType- - how to combine pixels- Returns:
- a virtually fused zeroMin RandomAccessibleInterval and the transformation to map it to global coordinates
-
fuseVirtual
public static net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> fuseVirtual(SpimData2 spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType, boolean adjustIntensities) Virtually fuses views using a maximal bounding box around all views- Parameters:
spimData- - an AbstractSpimData objectviewIds- - which viewIds to fuse (be careful to remove not present one's first)fusionType- - how to combine pixelsadjustIntensities- - adjust intensities according to whats stored in the spimdata- Returns:
- a virtually fused zeroMin RandomAccessibleInterval
-
fuseVirtual
public static net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> fuseVirtual(mpicbg.spim.data.generic.sequence.BasicImgLoader imgloader, Map<mpicbg.spim.data.sequence.ViewId, ? extends net.imglib2.realtransform.AffineTransform3D> registrations, Map<mpicbg.spim.data.sequence.ViewId, ? extends mpicbg.spim.data.generic.sequence.BasicViewDescription<?>> viewDescriptions, Collection<? extends mpicbg.spim.data.sequence.ViewId> views, FusionGUI.FusionType fusionType, net.imglib2.Interval bb) Virtually fuses views- Parameters:
imgloader- - an imgloaderregistrations- - all (updated) registrationsviewDescriptions- - all viewdescriptionsviews- - which viewIds to fuse (be careful to remove not present one's first)fusionType- - how to combine pixelsbb- - the bounding box in world coordinates (can be loaded from XML or defined through one of the BoundingBoxEstimation implementations)- Returns:
- a virtually fused zeroMin RandomAccessibleInterval and the transformation to map it to global coordinates
-
fuseVirtual
public static net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> fuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<?> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType, net.imglib2.Interval bb) Virtually fuses views- Parameters:
spimData- - an AbstractSpimData objectviewIds- - which viewIds to fuse (be careful to remove not present one's first)fusionType- - how to combine pixelsbb- - the bounding box in world coordinates (can be loaded from XML or defined through one of the BoundingBoxEstimation implementations)- Returns:
- a virtually fused zeroMin RandomAccessibleInterval and the transformation to map it to global coordinates
-
fuseVirtual
public static net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> fuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<?> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> viewIds, FusionGUI.FusionType fusionType, net.imglib2.Interval bb, Map<? extends mpicbg.spim.data.sequence.ViewId, mpicbg.models.AffineModel1D> intensityAdjustments) Virtually fuses views- Parameters:
spimData- - an AbstractSpimData objectviewIds- - which viewIds to fuse (be careful to remove not present one's first)fusionType- - how to combine pixelsbb- - the bounding box in world coordinates (can be loaded from XML or defined through one of the BoundingBoxEstimation implementations)intensityAdjustments- - the intensityadjustsments or null- Returns:
- a virtually fused zeroMin RandomAccessibleInterval
-
fuseVirtual
public static net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> fuseVirtual(mpicbg.spim.data.generic.AbstractSpimData<?> spimData, Collection<? extends mpicbg.spim.data.sequence.ViewId> views, FusionGUI.FusionType fusionType, int interpolation, net.imglib2.Interval boundingBox, Map<? extends mpicbg.spim.data.sequence.ViewId, mpicbg.models.AffineModel1D> intensityAdjustments) -
createAnisotropicBoundingBox
public static net.imglib2.util.Pair<net.imglib2.Interval,net.imglib2.realtransform.AffineTransform3D> createAnisotropicBoundingBox(net.imglib2.Interval boundingBox, double anisotropy) Creates an anisotropic bounding box by floor/ceil to include all data and provides the affine transformation to scale it to global coordinates- Parameters:
boundingBox- - the bounding box to scaleanisotropy- - the desired anisotropy- Returns:
- a downsampled interval and the corresponding affine transform to map it to global coordinates or a copy if anisotropy == Double.NaN or 1.0
-
createDownsampledBoundingBox
public static net.imglib2.util.Pair<net.imglib2.Interval,net.imglib2.realtransform.AffineTransform3D> createDownsampledBoundingBox(net.imglib2.Interval boundingBox, double downsampling) Creates a downsampled bounding box by rounding and provides the affine transformation to scale it to global coordinates, which also corrects for the fact that the fused image is ZEROMIN (TODO: change that)- Parameters:
boundingBox- - the bounding box to scaledownsampling- - the desired downsampling- Returns:
- a downsampled interval and the corresponding affine transform to map it to global coordinates or a copy if downsampling == Double.NaN or 1.0
-
getFusedZeroMinInterval
-
is2d
public static boolean is2d(Collection<? extends mpicbg.spim.data.generic.sequence.BasicViewDescription<?>> views) -
fuseVirtual
public static net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> fuseVirtual(mpicbg.spim.data.generic.sequence.BasicImgLoader imgloader, Map<mpicbg.spim.data.sequence.ViewId, ? extends net.imglib2.realtransform.AffineTransform3D> registrations, Map<mpicbg.spim.data.sequence.ViewId, ? extends mpicbg.spim.data.generic.sequence.BasicViewDescription<?>> viewDescriptions, Collection<? extends mpicbg.spim.data.sequence.ViewId> views, FusionGUI.FusionType fusionType, int interpolation, net.imglib2.Interval boundingBox, Map<? extends mpicbg.spim.data.sequence.ViewId, mpicbg.models.AffineModel1D> intensityAdjustments) -
convertInput
public static <T extends net.imglib2.type.numeric.RealType<T>> net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> convertInput(net.imglib2.RandomAccessibleInterval<T> img) -
displayVirtually
public static ij.ImagePlus displayVirtually(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input) -
displayVirtually
public static ij.ImagePlus displayVirtually(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max) -
displayCopy
public static ij.ImagePlus displayCopy(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input) -
displayCopy
public static ij.ImagePlus displayCopy(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max) -
displayCached
public static ij.ImagePlus displayCached(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, int[] cellDim, int maxCacheSize) -
displayCached
public static ij.ImagePlus displayCached(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max, int[] cellDim, int maxCacheSize) -
displayCached
public static ij.ImagePlus displayCached(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input) -
displayCached
public static ij.ImagePlus displayCached(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, double min, double max) -
display
public static ij.ImagePlus display(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, FusionTools.ImgDataType imgType) -
display
public static ij.ImagePlus display(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, FusionTools.ImgDataType imgType, int[] cellDim, int maxCacheSize) -
display
public static ij.ImagePlus display(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> input, FusionTools.ImgDataType imgType, double min, double max, int[] cellDim, int maxCacheSize) -
getFusionMinMax
public static <T extends net.imglib2.type.numeric.RealType<T>> double[] getFusionMinMax(net.imglib2.RandomAccessibleInterval<T> img, double min, double max) -
getImagePlusInstance
public static <T extends net.imglib2.type.numeric.RealType<T> & net.imglib2.type.NativeType<T>> ij.ImagePlus getImagePlusInstance(net.imglib2.RandomAccessibleInterval<T> img, boolean virtualDisplay, String title, double min, double max, ExecutorService service) -
adjustBlending
public static void adjustBlending(mpicbg.spim.data.generic.sequence.BasicViewDescription<?> vd, float[] blending, float[] border, net.imglib2.realtransform.AffineTransform3D transformationModel) Compute how much blending in the input has to be done so the target values blending and border are achieved in the fused image- Parameters:
vd- - which viewblending- - the target blending range, e.g. 40border- - the target blending border, e.g. 0transformationModel- - the transformation model used to map from the (downsampled) input to the output
-
adjustBlending
public static void adjustBlending(net.imglib2.Dimensions dim, String name, float[] blending, float[] border, net.imglib2.realtransform.AffineTransform3D transformationModel) -
adjustContentBased
public static void adjustContentBased(mpicbg.spim.data.generic.sequence.BasicViewDescription<?> vd, double[] sigma1, double[] sigma2, double[] usedDownsampleFactors, double anisotropyFactor) Compute how much sigma in the input has to be applied so the target values of sigma1 and 2 are achieved in the fused image- Parameters:
vd- - which viewsigma1- - the target sigma1 for entropy approximation, e.g. 20sigma2- - the target sigma2 for entropy approximation, e.g. 40usedDownsampleFactors- - the downsampling factors used to load the input imageanisotropyFactor- - anisotropyFactor or Double.NaN
-
getMinRes
-
getIllumName
-
getAngleName
-
assembleInputData
public static final ArrayList<mpicbg.spim.data.sequence.ViewDescription> assembleInputData(SpimData2 spimData, mpicbg.spim.data.sequence.TimePoint timepoint, mpicbg.spim.data.sequence.Channel channel, List<mpicbg.spim.data.sequence.ViewId> viewIdsToProcess) -
cacheRandomAccessibleInterval
public static <T extends net.imglib2.type.NativeType<T>> net.imglib2.RandomAccessibleInterval<T> cacheRandomAccessibleInterval(net.imglib2.RandomAccessibleInterval<T> input, T type, int... cellDim) -
cacheRandomAccessibleInterval
public static <T extends net.imglib2.type.NativeType<T>,A extends net.imglib2.img.basictypeaccess.array.ArrayDataAccess<A>> net.imglib2.RandomAccessibleInterval<T> cacheRandomAccessibleInterval(net.imglib2.RandomAccessibleInterval<T> input, long maxCacheSize, T type, int... cellDim) -
copyImg
public static <T extends net.imglib2.type.Type<T>> net.imglib2.RandomAccessibleInterval<T> copyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service) -
copyImg
public static <T extends net.imglib2.type.Type<T>> net.imglib2.RandomAccessibleInterval<T> copyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service, boolean showProgress) -
copyImgNoTranslation
public static <T extends net.imglib2.type.Type<T>> net.imglib2.img.Img<T> copyImgNoTranslation(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service) -
copyImgNoTranslation
public static <T extends net.imglib2.type.Type<T>> net.imglib2.img.Img<T> copyImgNoTranslation(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.img.ImgFactory<T> factory, T type, ExecutorService service, boolean showProgress) -
translateIfNecessary
public static <T> net.imglib2.RandomAccessibleInterval<T> translateIfNecessary(net.imglib2.Interval original, net.imglib2.RandomAccessibleInterval<T> copy) -
copyImg
public static <T extends net.imglib2.type.Type<T>> void copyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.RandomAccessibleInterval<T> output, ExecutorService service) -
copyImg
public static <T extends net.imglib2.type.Type<T>> void copyImg(net.imglib2.RandomAccessibleInterval<T> input, net.imglib2.RandomAccessibleInterval<T> output, ExecutorService service, boolean showProgress) -
execTasks
-
execTasks
public static final void execTasks(ArrayList<Callable<Void>> tasks, ExecutorService taskExecutor, String jobDescription) -
copyImg
public static final <T extends net.imglib2.type.Type<T>> void copyImg(long start, long loopSize, net.imglib2.RandomAccessibleInterval<T> source, net.imglib2.RandomAccessibleInterval<T> target) -
minMax
public static <T extends net.imglib2.type.numeric.RealType<T>> float[] minMax(net.imglib2.RandomAccessibleInterval<T> img) -
minMax
public static <T extends net.imglib2.type.numeric.RealType<T>> float[] minMax(net.imglib2.RandomAccessibleInterval<T> img, ExecutorService service) -
minMaxApprox1
public static <T extends net.imglib2.type.numeric.RealType<T>> double[] minMaxApprox1(net.imglib2.RandomAccessibleInterval<T> img) -
minMaxApprox
@Deprecated public static <T extends net.imglib2.type.numeric.RealType<T>> double[] minMaxApprox(net.imglib2.RandomAccessibleInterval<T> img) Deprecated. -
minMaxApprox1
public static <T extends net.imglib2.type.numeric.RealType<T>> double[] minMaxApprox1(net.imglib2.RandomAccessibleInterval<T> img, int numPixels) -
minMaxApprox1
public static <T extends net.imglib2.type.numeric.RealType<T>> double[] minMaxApprox1(net.imglib2.RandomAccessibleInterval<T> img, Random rnd, int numPixels) -
minMaxAvgApprox1
public static <T extends net.imglib2.type.numeric.RealType<T>> double[] minMaxAvgApprox1(net.imglib2.RandomAccessibleInterval<T> img, Random rnd, int numPixels) -
normalizeImage
public static boolean normalizeImage(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> img) Normalizes the image to the range [0...1]- Parameters:
img- - the image to normalize- Returns:
- - normalized array
-
normalizeImage
public static boolean normalizeImage(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> img, float min, float max) Normalizes the image to the range [0...1]- Parameters:
img- - the image to normalizemin- - min valuemax- - max value- Returns:
- - normalized array
-
normalizeImage
public static boolean normalizeImage(net.imglib2.RandomAccessibleInterval<net.imglib2.type.numeric.real.FloatType> img, float min, float max, ExecutorService service) Normalizes the image to the range [0...1]- Parameters:
img- - the image to normalizemin- - min valuemax- - max valueservice- - the ExecutorService (can be null)- Returns:
- - normalized array
-
divideIntoPortions
-
runThreads
-