43
43
import net .imglib2 .util .Pair ;
44
44
import net .imglib2 .util .Util ;
45
45
import net .imglib2 .view .IntervalView ;
46
- import net .imglib2 .view .MixedTransformView ;
47
46
48
47
import org .scijava .log .LogService ;
49
48
import org .scijava .notebook .converter .NotebookConverters ;
@@ -73,7 +72,7 @@ public <T extends RealType<T>> Object RAIToPNG(
73
72
final int xAxis , final int yAxis , final int cAxis , //
74
73
final ValueScaling scaling , final long ... pos ) {
75
74
76
- final IntervalView <T > image = ops .transform ().zeroMin (source );
75
+ final IntervalView <T > image = ops .transform ().zeroMinView (source );
77
76
78
77
final int w = xAxis >= 0 ? (int ) image .dimension (xAxis ) : 1 ;
79
78
final int h = yAxis >= 0 ? (int ) image .dimension (yAxis ) : 1 ;
@@ -92,7 +91,7 @@ public <T extends RealType<T>> Object RAIToPNG(
92
91
max = image .firstElement ().getMaxValue ();
93
92
} else {
94
93
// scale the intensities based on the sample values
95
- final IterableInterval <T > ii = ops .transform ().flatIterable (source );
94
+ final IterableInterval <T > ii = ops .transform ().flatIterableView (source );
96
95
final Pair <T , T > minMax = ops .stats ().minMax (ii );
97
96
min = minMax .getA ().getRealDouble ();
98
97
max = minMax .getB ().getRealDouble ();
@@ -194,32 +193,18 @@ public <T extends RealType<T>> Object RAIToPNG(
194
193
for (int d = 0 ; d < numDims ; d ++) {
195
194
offset [d ] = offsets [d ][pos [d ]];
196
195
}
197
- final MixedTransformView <T > translated
198
- = //
199
- ops .transform ().translate (ops .transform ().zeroMin (images [i ]), offset );
200
-
201
- // Unfortunately, this operation loses the "Interval" from the RAI:
202
- // translated objects are RAs, not RAIs.
203
- // So, we readd the bounds to match the newly translated coordinates.
204
- // NB: The max bound is _inclusive_, so we must subtract 1.
205
- final long [] max = new long [numDims ];
206
- for (int d = 0 ; d < numDims ; d ++) {
207
- max [d ] = offset [d ] + images [i ].dimension (d ) - 1 ;
208
- }
209
- final FinalInterval bounds = new FinalInterval (offset , max );
210
- final RandomAccessibleInterval <T > bounded
211
- = //
212
- ops .transform ().interval (translated , bounds );
196
+ final IntervalView <T > translated = //
197
+ ops .transform ().translateView (ops .transform ().zeroMinView (images [i ]), offset );
213
198
214
199
// Declare that all values outside the interval proper will be 0.
215
200
// If we do not perform this step, we will get an error when querying
216
201
// out-of-bounds coordinates.
217
- final RandomAccessible <T > extended = ops .transform ().extendZero ( bounded );
202
+ final RandomAccessible <T > extended = ops .transform ().extendZeroView ( translated );
218
203
219
204
// Define the interval of the image to match the size of the mosaic.
220
205
final RandomAccessibleInterval <T > expanded
221
206
= //
222
- ops .transform ().interval (extended , mosaicBox );
207
+ ops .transform ().intervalView (extended , mosaicBox );
223
208
224
209
// Add the full-size zero-padded translated image into the mosaic.
225
210
Inplaces .binary1 (ops , Ops .Math .Add .class , result , expanded ).mutate1 (
0 commit comments