Skip to content

Commit 7ba13f7

Browse files
committed
Export label image: add methods with logger.
1 parent 0894c41 commit 7ba13f7

1 file changed

Lines changed: 32 additions & 7 deletions

File tree

src/main/java/fiji/plugin/trackmate/action/LabelImgExporter.java

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import org.scijava.plugin.Plugin;
99

10+
import fiji.plugin.trackmate.Logger;
1011
import fiji.plugin.trackmate.Model;
1112
import fiji.plugin.trackmate.Spot;
1213
import fiji.plugin.trackmate.TrackMate;
@@ -51,25 +52,40 @@ public class LabelImgExporter extends AbstractTMAction
5152
@Override
5253
public void execute( final TrackMate trackmate )
5354
{
54-
createLabelImagePlus( trackmate ).show();
55+
createLabelImagePlus( trackmate, logger ).show();
5556
}
5657

5758
public static final ImagePlus createLabelImagePlus( final TrackMate trackmate )
5859
{
59-
return createLabelImagePlus( trackmate.getModel(), trackmate.getSettings().imp );
60+
return createLabelImagePlus( trackmate, Logger.VOID_LOGGER );
61+
}
62+
63+
public static final ImagePlus createLabelImagePlus( final TrackMate trackmate, final Logger logger )
64+
{
65+
return createLabelImagePlus( trackmate.getModel(), trackmate.getSettings().imp, logger );
6066
}
6167

6268
public static final ImagePlus createLabelImagePlus( final Model model, final ImagePlus imp )
69+
{
70+
return createLabelImagePlus( model, imp, Logger.VOID_LOGGER );
71+
}
72+
73+
public static final ImagePlus createLabelImagePlus( final Model model, final ImagePlus imp, final Logger logger )
6374
{
6475
final int[] dimensions = imp.getDimensions();
6576
final int[] dims = new int[] { dimensions[ 0 ], dimensions[ 1 ], dimensions[ 3 ], dimensions[ 4 ] };
6677

67-
final ImagePlus lblImp = createLabelImagePlus( model, dims );
78+
final ImagePlus lblImp = createLabelImagePlus( model, dims, logger );
6879
lblImp.setCalibration( imp.getCalibration().copy() );
6980
lblImp.setTitle( "LblImg_" + imp.getTitle() );
7081
return lblImp;
7182
}
7283

84+
public static final ImagePlus createLabelImagePlus( final Model model, final int[] dimensions )
85+
{
86+
return createLabelImagePlus( model, dimensions, Logger.VOID_LOGGER );
87+
}
88+
7389
/**
7490
* @param model
7591
* @param dimensions
@@ -78,27 +94,33 @@ public static final ImagePlus createLabelImagePlus( final Model model, final Ima
7894
* @return a new {@link ImagePlus}
7995
*/
8096

81-
public static final ImagePlus createLabelImagePlus( final Model model, final int[] dimensions )
97+
public static final ImagePlus createLabelImagePlus( final Model model, final int[] dimensions, final Logger logger )
8298
{
8399
final long[] dims = new long[ 4 ];
84100
for ( int d = 0; d < dims.length; d++ )
85101
dims[ d ] = dimensions[ d ];
86102

87-
final ImagePlus lblImp = ImageJFunctions.wrap( createLabelImg( model, dims ), "LblImage" );
103+
final ImagePlus lblImp = ImageJFunctions.wrap( createLabelImg( model, dims, logger ), "LblImage" );
88104
lblImp.setDimensions( 1, dimensions[ 2 ], dimensions[ 3 ] );
89105
lblImp.setOpenAsHyperStack( true );
106+
lblImp.resetDisplayRange();
90107
return lblImp;
91108
}
92109

110+
public static final Img< UnsignedShortType > createLabelImg( final Model model, final long[] dimensions )
111+
{
112+
return createLabelImg( model, dimensions, Logger.VOID_LOGGER );
113+
}
114+
93115
/**
94116
* @param model
95117
* @param dimensions
96118
* the dimensions of the output image (width, height, nZSlices,
97119
* nFrames) as a 4 element int array.
120+
*
98121
* @return a new {@link ImagePlus}
99122
*/
100-
101-
public static final Img< UnsignedShortType > createLabelImg( final Model model, final long[] dimensions )
123+
public static final Img< UnsignedShortType > createLabelImg( final Model model, final long[] dimensions, final Logger logger )
102124
{
103125
/*
104126
* Create target image.
@@ -128,6 +150,7 @@ public static final Img< UnsignedShortType > createLabelImg( final Model model,
128150
* Frame by frame iteration.
129151
*/
130152

153+
logger.log( "Writing label image." );
131154
for ( int frame = 0; frame < dimensions[ 3 ]; frame++ )
132155
{
133156
final ImgPlus< UnsignedShortType > imgC = HyperSliceImgPlus.fixChannelAxis( imgPlus, 0 );
@@ -145,7 +168,9 @@ public static final Img< UnsignedShortType > createLabelImg( final Model model,
145168
for ( final UnsignedShortType pixel : neighborhood )
146169
pixel.set( id );
147170
}
171+
logger.setProgress( ( double ) ( 1 + frame ) / dimensions[ 3 ] );
148172
}
173+
logger.log( "Done." );
149174

150175
return lblImg;
151176
}

0 commit comments

Comments
 (0)