Skip to content

Commit f99d95f

Browse files
committed
zeroing for output and don't show BDV for now.
1 parent e01658d commit f99d95f

9 files changed

+33
-34
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<groupId>embl.cba</groupId>
99
<artifactId>fiji-plugin-imageRegistration</artifactId>
10-
<version>0.2.1</version>
10+
<version>0.2.2</version>
1111

1212
<name>Fiji plugin for n-dimensional image sequence registration</name>
1313
<description>A plugin for n-dimensional image sequence registration.</description>

src/main/java/de/embl/cba/registration/InputViews.java

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import net.imglib2.realtransform.RealViews;
1616
import net.imglib2.type.NativeType;
1717
import net.imglib2.type.numeric.RealType;
18+
import net.imglib2.view.ExtendedRandomAccessibleInterval;
1819
import net.imglib2.view.Views;
1920

2021
import java.util.*;
@@ -46,22 +47,29 @@ public ImgPlus< R > asImgPlus( RandomAccessibleInterval< R > rai, ArrayList< Axi
4647
return imgPlus;
4748
}
4849

49-
public RandomAccessible< R > transform( RandomAccessibleInterval< R > rai, InvertibleRealTransform transform )
50+
public RandomAccessible< R > transformExtendingOutOfBoundsPixels( RandomAccessibleInterval< R > rai, InvertibleRealTransform transform )
5051
{
51-
// TODO: make single lines
52-
RealRandomAccessible rra
53-
= RealViews.transform(
54-
Views.interpolate( Views.extendBorder( rai ), new NLinearInterpolatorFactory() ),
55-
transform );
52+
ExtendedRandomAccessibleInterval erai = Views.extendBorder( rai );
5653

57-
RandomAccessible transformedRA = Views.raster( rra );
54+
RealRandomAccessible rra = Views.interpolate( erai, new NLinearInterpolatorFactory() );
55+
RealRandomAccessible realTransformed = RealViews.transform( rra, transform );
56+
RandomAccessible transformed = Views.raster( realTransformed );
5857

59-
return transformedRA;
58+
return transformed;
6059
}
6160

62-
public static RandomAccessible transform( RandomAccessible input, InvertibleRealTransform transform )
61+
62+
public RandomAccessible< R > transformZeroingOutOfBoundsPixels( RandomAccessibleInterval< R > rai, InvertibleRealTransform transform )
6363
{
64+
ExtendedRandomAccessibleInterval erai = Views.extendZero( rai );
65+
RealRandomAccessible rra = Views.interpolate( erai, new NLinearInterpolatorFactory() );
66+
RealRandomAccessible realTransformed = RealViews.transform( rra, transform );
67+
RandomAccessible transformed = Views.raster( realTransformed );
68+
return transformed;
69+
}
6470

71+
public static RandomAccessible transformExtendingOutOfBoundsPixels( RandomAccessible input, InvertibleRealTransform transform )
72+
{
6573
RealRandomAccessible rra = Views.interpolate( input, new NLinearInterpolatorFactory() );
6674

6775
rra = RealViews.transform( rra, transform );
@@ -116,11 +124,11 @@ private RandomAccessibleInterval fixedSequenceAxisView( long s )
116124
return Views.interval( input, interval );
117125
}
118126

119-
private RandomAccessibleInterval transformedHyperSlice( FinalInterval nonTransformableSingletonsInterval, InvertibleRealTransform transform, FinalInterval viewInterval )
127+
private RandomAccessibleInterval transformedHyperSliceZeroingOutOfBoundsPixels( FinalInterval nonTransformableSingletonsInterval, InvertibleRealTransform transform, FinalInterval viewInterval )
120128
{
121129
RandomAccessibleInterval rai = applyIntervalAndDropSingletons( nonTransformableSingletonsInterval );
122130

123-
RandomAccessible ra = transform( rai, transform );
131+
RandomAccessible ra = transformZeroingOutOfBoundsPixels( rai, transform );
124132

125133
return Views.interval( ra, viewInterval );
126134
}
@@ -182,7 +190,7 @@ private RandomAccessibleInterval< R > transformedSequences( long[] nonTransforma
182190
if ( transformsExpandedToAllTransformableDimensions.containsKey( s ) )
183191
{
184192
FinalInterval nonTransformableSingletonsInterval = axes.nonTransformableAxesSingletonInterval( nonTransformableCoordinates );
185-
transformed = transformedHyperSlice( nonTransformableSingletonsInterval, transformsExpandedToAllTransformableDimensions.get( s ), transformedViewInterval );
193+
transformed = transformedHyperSliceZeroingOutOfBoundsPixels( nonTransformableSingletonsInterval, transformsExpandedToAllTransformableDimensions.get( s ), transformedViewInterval );
186194
}
187195
}
188196
else

src/main/java/de/embl/cba/registration/Registration.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818

1919
import static de.embl.cba.registration.Logger.*;
2020

21-
public class Registration
22-
< R extends RealType< R > & NativeType < R >,
23-
T extends InvertibleRealTransform & Concatenable< T > & PreConcatenable < T > > {
21+
public class Registration< R extends RealType< R > & NativeType < R >, T extends InvertibleRealTransform & Concatenable< T > & PreConcatenable < T > > {
2422

2523
private final RandomAccessibleInterval< R > input;
2624
private final InputViews inputViews;
@@ -113,7 +111,7 @@ private void initializeTransforms()
113111
transformationInfos.put( axes.sequenceMin(), "Reference => no transformation." );
114112
}
115113

116-
public MetaImage transformedImage( OutputIntervalSizeType outputIntervalSizeType )
114+
public MetaImage getTransformedImage( OutputIntervalSizeType outputIntervalSizeType )
117115
{
118116
long start = Logger.start( "# Creating transformed image view..." );
119117

@@ -175,7 +173,7 @@ private RandomAccessible transformedHyperSlice( long s, InvertibleRealTransform
175173
{
176174
RandomAccessibleInterval rai = inputViews.transformableReferenceHyperSlice( s );
177175

178-
return inputViews.transform( rai, transform );
176+
return inputViews.transformExtendingOutOfBoundsPixels( rai, transform );
179177
}
180178

181179
}

src/main/java/de/embl/cba/registration/transformfinder/TransformFinderRotationTranslationPhaseCorrelation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ private RandomAccessible< R > rotateMoving( ArrayList< Long > rotation )
188188
{
189189
AffineTransform2D rotation2D = new AffineTransform2D();
190190
rotation2D.rotate( asRadian( rotation.get( 0 ) ) );
191-
return InputViews.transform( moving, rotation2D );
191+
return InputViews.transformExtendingOutOfBoundsPixels( moving, rotation2D );
192192
}
193193

194194
if ( rotation.size() == 3)
@@ -198,7 +198,7 @@ private RandomAccessible< R > rotateMoving( ArrayList< Long > rotation )
198198
{
199199
rotation3D.rotate( d, asRadian( rotation.get( d ) ) );
200200
}
201-
return InputViews.transform( moving, rotation3D );
201+
return InputViews.transformExtendingOutOfBoundsPixels( moving, rotation3D );
202202
}
203203

204204
return null;

src/main/java/de/embl/cba/registration/ui/RegistrationPlugin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ public void run()
305305
registration.run();
306306
registration.logTransformations();
307307
setOutputImages( registration );
308-
showTransformedOutputWithBigDataViewer();
308+
//showTransformedOutputWithBigDataViewer();
309309
showTransformedOutputWithImageJFunctions();
310310
}
311311
} );
@@ -315,7 +315,7 @@ public void run()
315315

316316
private void setOutputImages( Registration registration )
317317
{
318-
transformed = registration.transformedImage( OutputIntervalSizeType.TransformationsEncompassing );
318+
transformed = registration.getTransformedImage( OutputIntervalSizeType.TransformationsEncompassing );
319319
processedAndTransformedReference = registration.processedAndTransformedReferenceImage();
320320
}
321321

src/test/java/Register2DEdgeAs1DProjection.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,6 @@ public static void main(final String... args) throws Exception
4343

4444
registration.logTransformations();
4545

46-
//Output output = registration.output();
47-
48-
// ij.ui().show( output.transformedImgPlus );
49-
// ij.ui().show( output.referenceImgPlus );
50-
//
51-
//BDV.show( output.transformedImgPlus, output.transformedNumSpatialDimensions, output.transformedAxisOrder );
52-
//BDV.show( output.referenceImgPlus, output.referenceNumSpatialDimensions, output.referenceAxisOrder );
53-
5446
}
5547

5648
private static Dataset getDataset( String path, ImageJ ij ) throws IOException

src/test/java/Register2DFibSEM1DTranslationFullSize.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public static void main( final String... args ) throws Exception
4141
registration.run();
4242
registration.logTransformations();
4343

44-
MetaImage transformed = registration.transformedImage( OutputIntervalSizeType.TransformationsEncompassing );
44+
MetaImage transformed = registration.getTransformedImage( OutputIntervalSizeType.TransformationsEncompassing );
4545
Viewers.showRAIUsingBdv( transformed.rai, transformed.title, transformed.numSpatialDimensions,transformed.axisOrder );
4646

4747
//Viewers.showRAIAsImgPlusWithUIService( transformed.rai, ij.dataset(), transformed.axisTypes, transformed.title, ij.ui() );

src/test/java/Register2DSquare2ChTranslation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public static void main(final String... args) throws Exception
3838
registration.run();
3939
registration.logTransformations();
4040

41-
MetaImage transformed = registration.transformedImage( OutputIntervalSizeType.InputImage );
41+
MetaImage transformed = registration.getTransformedImage( OutputIntervalSizeType.InputImage );
4242

4343
//Viewers.showRAIUsingBdv( transformed.rai, transformed.title, transformed.numSpatialDimensions, transformed.axisOrder );
4444

src/test/java/Register2DSquareTranslation.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ public static void main(final String... args) throws Exception
3939
registration.run();
4040
registration.logTransformations();
4141

42-
MetaImage transformed = registration.transformedImage( OutputIntervalSizeType.InputImage );
43-
Viewers.showRAIUsingBdv( transformed.rai, transformed.title, transformed.numSpatialDimensions,transformed.axisOrder );
42+
MetaImage transformed = registration.getTransformedImage( OutputIntervalSizeType.InputImage );
43+
//Viewers.showRAIUsingBdv( transformed.rai, transformed.title, transformed.numSpatialDimensions,transformed.axisOrder );
44+
Viewers.showRAIWithImageJFunctions( transformed.rai, transformed.axisTypes, transformed.title );
4445

4546
}
4647

0 commit comments

Comments
 (0)