-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExampleElastixAPI.java
45 lines (35 loc) · 1.5 KB
/
ExampleElastixAPI.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import de.embl.cba.elastixwrapper.elastix.ElastixSettings;
import de.embl.cba.elastixwrapper.elastix.ElastixWrapper;
import net.imagej.ImageJ;
public class ExampleElastixAPI
{
public static void main( String[] args )
{
final ImageJ ij = new ImageJ();
ij.ui().showUI();
ElastixSettings settings = new ElastixSettings();
settings.logService = ij.log();
settings.elastixDirectory = "/Applications/elastix_macosx64_v4.8" ;
settings.workingDirectory = "/Users/tischer/Desktop/elastix-tmp";
settings.transformationType = ElastixSettings.EULER;
settings.fixedImageFilePath = getImageFilePath( "ellipsoid-horizontal-dxyz200nm.tif");
settings.movingImageFilePath = getImageFilePath( "ellipsoid-at45degrees-dxyz200nm.tif" );
settings.downSamplingFactors = "10 10 10";
settings.fixedMaskPath = "";
settings.movingMaskPath = "";
// settings.bSplineGridSpacing = "50 50 50";
// settings.iterations = 1000;
// settings.spatialSamples = 10000;
// settings.channelWeights = new double[]{1.0, 3.0, 3.0, 1.0, 1.0};
// settings.finalResampler = ElastixSettings.FINAL_RESAMPLER_LINEAR;
final ElastixWrapper elastixWrapper = new ElastixWrapper( settings );
elastixWrapper.runElastix();
// saves transformed image(s) in the specified working directory
elastixWrapper.createTransformedImagesAndSaveAsTiff();
settings.logService.info( "Done!" );
}
private static String getImageFilePath( String relativePath )
{
return ExampleElastixAPI.class.getResource( relativePath ).getFile().toString();
}
}