Skip to content
Snippets Groups Projects
Commit 0fc96e8c authored by Tobias Pietzsch's avatar Tobias Pietzsch
Browse files

AccumulateProjectorFactory: change ArrayList<> arguments to List<>

parent ae2cb229
No related branches found
No related tags found
No related merge requests found
......@@ -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 )
......
......@@ -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 )
......
......@@ -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}.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment