Skip to content

Commit 124f978

Browse files
committed
Transforms.addDimension: default to interval
Closes #268
1 parent 9a92399 commit 124f978

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

scijava-ops-image/src/main/java/org/scijava/ops/image/transform/Transforms.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,21 @@
7979
*/
8080
public class Transforms<T, R extends RealType<R>, N extends NumericType<N>, Y extends Type<Y>, F extends RandomAccessibleInterval<T>, E extends EuclideanSpace> {
8181

82+
/**
83+
* @input input
84+
* @output result
85+
* @implNote op names='transform.addDimensionView', priority='-100.'
86+
*/
87+
public final Function<RandomAccessible<T>, MixedTransformView<T>>
88+
addDimensionMixedView = Views::addDimension;
89+
8290
/**
8391
* @input input
8492
* @output result
8593
* @implNote op names='transform.addDimensionView'
8694
*/
87-
public final Function<RandomAccessible<T>, MixedTransformView<T>> addDimensionView =
88-
Views::addDimension;
95+
public final Function<RandomAccessibleInterval<T>, IntervalView<T>> addDimensionView =
96+
(RandomAccessibleInterval<T> interval) -> Views.addDimension(interval, 0, 0);
8997

9098
/**
9199
* @input input

scijava-ops-image/src/test/java/org/scijava/ops/image/OpRegressionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class OpRegressionTest {
4242

4343
@Test
4444
public void testOpDiscoveryRegression() {
45-
long expected = 1940;
45+
long expected = 1941;
4646
long actual = ops.infos().size();
4747
assertEquals(expected, actual);
4848
}

scijava-ops-image/src/test/java/org/scijava/ops/image/transform/addDimensionView/AddDimensionViewTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,25 @@ public void testAddDimension() {
8585
}
8686
}
8787

88+
@Test
89+
public void testAddDimensionIterable() {
90+
Img<DoubleType> img = new ArrayImgFactory<>(new DoubleType()).create(
91+
new int[] { 10, 10 });
92+
93+
IntervalView<DoubleType> il2 = Views.addDimension(img, 0, 0);
94+
95+
Function<RandomAccessibleInterval<DoubleType>, IntervalView<DoubleType>> addDimFunc =
96+
ops.op("transform.addDimensionView",
97+
new Nil<Function<RandomAccessibleInterval<DoubleType>, IntervalView<DoubleType>>>()
98+
{}, new Nil[] { new Nil<RandomAccessibleInterval<DoubleType>>() {} }, new Nil<IntervalView<DoubleType>>() {});
99+
IntervalView<DoubleType> opr = addDimFunc.apply(img);
100+
101+
assertEquals(il2.numDimensions(), opr.numDimensions(), 0.0);
102+
for (int i = 0; i < il2.numDimensions(); i++) {
103+
assertEquals(il2.dimension(i), opr.dimension(i), 0.0);
104+
}
105+
}
106+
88107
@Test
89108
public void testAddDimensionMinMax() {
90109
Img<DoubleType> img = new ArrayImgFactory<>(new DoubleType()).create(

0 commit comments

Comments
 (0)