From 0fc96e8ca6b5b7effc12005a64336a1189f96caf Mon Sep 17 00:00:00 2001 From: tpietzsch <tobias.pietzsch@gmail.com> Date: Tue, 7 Jul 2020 22:43:19 +0200 Subject: [PATCH] AccumulateProjectorFactory: change ArrayList<> arguments to List<> --- .../bdv/viewer/render/AccumulateProjector.java | 8 ++++---- .../viewer/render/AccumulateProjectorARGB.java | 18 +++++++++--------- .../render/AccumulateProjectorFactory.java | 17 ++++++++++++----- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/main/java/bdv/viewer/render/AccumulateProjector.java b/src/main/java/bdv/viewer/render/AccumulateProjector.java index 74003680..91be7709 100644 --- a/src/main/java/bdv/viewer/render/AccumulateProjector.java +++ b/src/main/java/bdv/viewer/render/AccumulateProjector.java @@ -48,12 +48,12 @@ public abstract class AccumulateProjector< A, B > implements VolatileProjector * Projectors that render the source images to accumulate. * For every rendering pass, ({@link VolatileProjector#map(boolean)}) is run on each source projector that is not yet {@link VolatileProjector#isValid() valid}. */ - private final ArrayList< VolatileProjector > sourceProjectors; + private final List< VolatileProjector > sourceProjectors; /** * The source images to accumulate */ - private final ArrayList< IterableInterval< ? extends A > > sources; + private final List< IterableInterval< ? extends A > > sources; /** * The target interval. Pixels of the target interval should be set by @@ -84,8 +84,8 @@ public abstract class AccumulateProjector< A, B > implements VolatileProjector private volatile boolean valid = false; public AccumulateProjector( - final ArrayList< VolatileProjector > sourceProjectors, - final ArrayList< ? extends RandomAccessible< ? extends A > > sources, + final List< VolatileProjector > sourceProjectors, + final List< ? extends RandomAccessible< ? extends A > > sources, final RandomAccessibleInterval< B > target, final int numThreads, final ExecutorService executorService ) diff --git a/src/main/java/bdv/viewer/render/AccumulateProjectorARGB.java b/src/main/java/bdv/viewer/render/AccumulateProjectorARGB.java index 7c22a70c..c92260f5 100644 --- a/src/main/java/bdv/viewer/render/AccumulateProjectorARGB.java +++ b/src/main/java/bdv/viewer/render/AccumulateProjectorARGB.java @@ -49,9 +49,9 @@ public class AccumulateProjectorARGB implements VolatileProjector { @Override public VolatileProjector createProjector( - final ArrayList< VolatileProjector > sourceProjectors, - final ArrayList< SourceAndConverter< ? > > sources, - final ArrayList< ? extends RandomAccessible< ? extends ARGBType > > sourceScreenImages, + final List< VolatileProjector > sourceProjectors, + final List< SourceAndConverter< ? > > sources, + final List< ? extends RandomAccessible< ? extends ARGBType > > sourceScreenImages, final RandomAccessibleInterval< ARGBType > targetScreenImage, final int numThreads, final ExecutorService executorService ) @@ -69,8 +69,8 @@ public class AccumulateProjectorARGB implements VolatileProjector public static class AccumulateProjectorARGBGeneric extends AccumulateProjector< ARGBType, ARGBType > { public AccumulateProjectorARGBGeneric( - final ArrayList< VolatileProjector > sourceProjectors, - final ArrayList< ? extends RandomAccessible< ? extends ARGBType > > sources, + final List< VolatileProjector > sourceProjectors, + final List< ? extends RandomAccessible< ? extends ARGBType > > sources, final RandomAccessibleInterval< ARGBType > target, final int numThreads, final ExecutorService executorService ) @@ -110,12 +110,12 @@ public class AccumulateProjectorARGB implements VolatileProjector * Projectors that render the source images to accumulate. * For every rendering pass, ({@link VolatileProjector#map(boolean)}) is run on each source projector that is not yet {@link VolatileProjector#isValid() valid}. */ - private final ArrayList< VolatileProjector > sourceProjectors; + private final List< VolatileProjector > sourceProjectors; /** * The source images to accumulate */ - private final ArrayList< ? extends RandomAccessible< ? extends ARGBType > > sources; + private final List< ? extends RandomAccessible< ? extends ARGBType > > sources; private final int[][] sourceData; @@ -144,8 +144,8 @@ public class AccumulateProjectorARGB implements VolatileProjector private volatile boolean valid = false; public AccumulateProjectorARGB( - final ArrayList< VolatileProjector > sourceProjectors, - final ArrayList< ? extends RandomAccessible< ? extends ARGBType > > sources, + final List< VolatileProjector > sourceProjectors, + final List< ? extends RandomAccessible< ? extends ARGBType > > sources, final RandomAccessibleInterval< ARGBType > target, final int numThreads, final ExecutorService executorService ) diff --git a/src/main/java/bdv/viewer/render/AccumulateProjectorFactory.java b/src/main/java/bdv/viewer/render/AccumulateProjectorFactory.java index 4343f596..8a141730 100644 --- a/src/main/java/bdv/viewer/render/AccumulateProjectorFactory.java +++ b/src/main/java/bdv/viewer/render/AccumulateProjectorFactory.java @@ -30,6 +30,7 @@ package bdv.viewer.render; import bdv.viewer.SourceAndConverter; import java.util.ArrayList; +import java.util.List; import java.util.concurrent.ExecutorService; import bdv.viewer.Source; @@ -54,9 +55,9 @@ public interface AccumulateProjectorFactory< A > * {@link ExecutorService} to use for rendering. may be null. */ default VolatileProjector createProjector( - final ArrayList< VolatileProjector > sourceProjectors, - final ArrayList< SourceAndConverter< ? > > sources, - final ArrayList< ? extends RandomAccessible< ? extends A > > sourceScreenImages, + final List< VolatileProjector > sourceProjectors, + final List< SourceAndConverter< ? > > sources, + final List< ? extends RandomAccessible< ? extends A > > sourceScreenImages, final RandomAccessibleInterval< A > targetScreenImage, final int numThreads, final ExecutorService executorService ) @@ -64,11 +65,17 @@ public interface AccumulateProjectorFactory< A > final ArrayList< Source< ? > > spimSources = new ArrayList<>(); for ( SourceAndConverter< ? > source : sources ) spimSources.add( source.getSpimSource() ); - return createAccumulateProjector( sourceProjectors, spimSources, sourceScreenImages, targetScreenImage, numThreads, executorService ); + final ArrayList< VolatileProjector > sp = sourceProjectors instanceof ArrayList + ? ( ArrayList ) sourceProjectors + : new ArrayList<>( sourceProjectors ); + final ArrayList< ? extends RandomAccessible< ? extends A > > si = sourceScreenImages instanceof ArrayList + ? ( ArrayList ) sourceScreenImages + : new ArrayList<>( sourceScreenImages ); + return createAccumulateProjector( sp, spimSources, si, targetScreenImage, numThreads, executorService ); } /** - * @deprecated Use {@link #createProjector(ArrayList, ArrayList, ArrayList, RandomAccessibleInterval, int, ExecutorService)} instead. + * @deprecated Use {@link #createProjector(List, List, List, RandomAccessibleInterval, int, ExecutorService)} instead. * * @param sourceProjectors * projectors that will be used to render {@code sources}. -- GitLab