Skip to content

Commit 9f9278a

Browse files
committed
v.0.5.1
1 parent 785f0a4 commit 9f9278a

File tree

9 files changed

+110
-26
lines changed

9 files changed

+110
-26
lines changed

pom.xml

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

1212
<groupId>nl.uu.science.cellbiology</groupId>
1313
<artifactId>bigtrace</artifactId>
14-
<version>0.5.1-SNAPSHOT</version>
14+
<version>0.5.1</version>
1515

1616
<name>BigTrace</name>
1717
<description>Tracing of curvilinear structures in 3D</description>

src/main/java/bigtrace/BigTrace.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,17 +386,17 @@ public void calcShowTraceBox(final LineTrace3D trace, final boolean bRefine)
386386

387387
if(trace.numVertices() == 1)
388388
{
389-
rangeTraceBox = VolumeMisc.getTraceBoxCentered(traceIV,btData.lTraceBoxSize, trace.vertices.get(0));
389+
rangeTraceBox = VolumeMisc.getTraceBoxCentered(traceIV,btData.nTraceBoxSize, trace.vertices.get(0));
390390
}
391391
else
392392
{
393-
rangeTraceBox = getTraceBoxNext(traceIV,btData.lTraceBoxSize, btData.fTraceBoxAdvanceFraction, trace);
393+
rangeTraceBox = getTraceBoxNext(traceIV,btData.nTraceBoxSize, btData.fTraceBoxAdvanceFraction, trace);
394394
}
395395

396396
IntervalView<?> traceInterval = Views.interval(traceIV, rangeTraceBox);
397397

398398
//getCenteredView(traceInterval);
399-
viewer.setTransformAnimator(getCenteredViewAnim(traceInterval,btData.dTraceBoxScreenFraction));
399+
viewer.setTransformAnimator(getCenteredViewAnim(traceInterval,btData.fTraceBoxScreenFraction));
400400
//long start1, end1;
401401

402402

src/main/java/bigtrace/BigTraceActions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ public void actionZoomIn()
397397
{
398398
if(bt.findPointLocationFromClick(bt.btData.trace_weights,target))
399399
{
400-
FinalInterval zoomInterval = VolumeMisc.getZoomBoxCentered((long)(bt.btData.lTraceBoxSize*0.5), target);
400+
FinalInterval zoomInterval = VolumeMisc.getZoomBoxCentered((long)(bt.btData.nTraceBoxSize*0.5), target);
401401

402402
bt.viewer.setTransformAnimator(bt.getCenteredViewAnim(zoomInterval,bt.btData.dZoomBoxScreenFraction));
403403
}

src/main/java/bigtrace/BigTraceData.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,10 @@ public class BigTraceData < T extends RealType< T > & NativeType< T > > {
235235
public int nTraceBoxView = 1;
236236

237237
/** half size of tracing box (for now in all dimensions) **/
238-
public long lTraceBoxSize;
238+
public int nTraceBoxSize;
239239

240240
/** fraction of screen occupied by trace box **/
241-
public double dTraceBoxScreenFraction;
241+
public float fTraceBoxScreenFraction;
242242

243243
/** After advancing tracebox, this parameter defines
244244
* how much tracebox is going to follow the last direction of trace (with respect to the last added point):
@@ -303,9 +303,9 @@ public BigTraceData(final BigTrace<T> bt_)
303303
sigmaTrace[2] = Prefs.get("BigTrace.sigmaTraceZ", 3.0);
304304
bTraceOnlyClipped = Prefs.get("BigTrace.bTraceOnlyClipped", false);
305305

306-
lTraceBoxSize =(long) Prefs.get("BigTrace.lTraceBoxSize", 50);
306+
nTraceBoxSize = (int) Prefs.get("BigTrace.nTraceBoxSize", 50);
307307
fTraceBoxAdvanceFraction = (float) Prefs.get("BigTrace.fTraceBoxAdvanceFraction", 0.9);
308-
dTraceBoxScreenFraction = Prefs.get("BigTrace.dTraceBoxScreenFraction", 0.5);
308+
fTraceBoxScreenFraction = (float)Prefs.get("BigTrace.fTraceBoxScreenFraction", 0.5);
309309
gammaTrace = Prefs.get("BigTrace.gammaTrace", 0.0);
310310

311311
//one-click

src/main/java/bigtrace/io/ROIsExportSWC.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,21 @@ protected Void doInBackground() throws Exception {
5858
String sRadius;
5959
writer.write("#raw "+ bt.btData.sFileNameFullImg+"\n");
6060
writer.write("#original_source BigTrace_ver_" +BigTraceData.sVersion+"\n");
61+
writer.write( "#roi_shape_interpolation " );
62+
switch (BigTraceData.shapeInterpolation)
63+
{
64+
case BigTraceData.SHAPE_Voxel:
65+
writer.write("voxel\n");
66+
break;
67+
case BigTraceData.SHAPE_Smooth:
68+
writer.write("smooth\n");
69+
break;
70+
case BigTraceData.SHAPE_Spline:
71+
writer.write("spline\n");
72+
break;
73+
}
74+
writer.write( "#smooth_window "+Integer.toString( BigTraceData.nSmoothWindow )+"\n" );
75+
6176
for(nRoi=0; nRoi<nRoiN; nRoi++)
6277
{
6378

@@ -96,7 +111,7 @@ protected Void doInBackground() throws Exception {
96111
writer.close();
97112
}
98113
setProgress(100);
99-
setProgressState("exporting curve ROIs done.");
114+
setProgressState("SWC export curve ROIs done.");
100115
} catch (IOException e) {
101116
IJ.log(e.getMessage());
102117
//e.printStackTrace();
@@ -113,7 +128,7 @@ public void done()
113128
bt.bInputLock = false;
114129
bt.setLockMode(false);
115130
setProgress(100);
116-
setProgressState("export traces to SWC done.");
131+
setProgressState("SWC export curve ROI done.");
117132
}
118133

119134

src/main/java/bigtrace/io/ROIsLoadBG.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import bigtrace.rois.Roi3D;
2121
import bigtrace.rois.Roi3DGroup;
2222
import bigtrace.rois.Roi3DGroupManager;
23+
import ij.Prefs;
2324

2425
import net.imglib2.RealPoint;
2526
import net.imglib2.type.NativeType;
@@ -161,7 +162,28 @@ protected Void doInBackground() throws Exception {
161162
break;
162163
case "FrameInterval":
163164
bt.btData.dFrameInterval = Double.parseDouble(line_array[1]);
164-
break;
165+
break;
166+
case "Intensity Interpolation":
167+
BigTraceData.intensityInterpolation = Integer.parseInt( line_array[1] );
168+
Prefs.set("BigTrace.IntInterpolation",BigTraceData.intensityInterpolation);
169+
bt.btData.setInterpolationFactory();
170+
break;
171+
case "ROI Shape Interpolation":
172+
BigTraceData.shapeInterpolation = Integer.parseInt( line_array[1] );
173+
Prefs.set("BigTrace.ShapeInterpolation",BigTraceData.shapeInterpolation);
174+
break;
175+
case "Rotation min frame type":
176+
BigTraceData.rotationMinFrame = Integer.parseInt( line_array[1] );
177+
Prefs.set("BigTrace.RotationMinFrame",BigTraceData.rotationMinFrame);
178+
break;
179+
case "Smooth window":
180+
BigTraceData.nSmoothWindow = Integer.parseInt( line_array[1] );
181+
Prefs.set("BigTrace.nSmoothWindow", BigTraceData.nSmoothWindow);
182+
break;
183+
case "Sector number":
184+
BigTraceData.sectorN = Integer.parseInt( line_array[1] );
185+
Prefs.set("BigTrace.nSectorN", BigTraceData.sectorN);
186+
break;
165187
case "BT_Roi":
166188
//Sleep for up to one second.
167189
try {

src/main/java/bigtrace/io/ROIsSaveBG.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ protected Void doInBackground() throws Exception {
6363
writer.write("ImageVoxelDepth," + df3.format(BigTraceData.globCal[2]) + "\n");
6464
writer.write("TimeUnits," + bt.btData.sTimeUnit + "\n");
6565
writer.write("FrameInterval," + df3.format(bt.btData.dFrameInterval) + "\n");
66+
writer.write("Intensity Interpolation,"+Integer.toString( BigTraceData.intensityInterpolation )+"\n");
67+
writer.write("ROI Shape Interpolation,"+Integer.toString( BigTraceData.shapeInterpolation )+"\n");
68+
writer.write("Rotation min frame type,"+Integer.toString( BigTraceData.rotationMinFrame )+"\n");
69+
writer.write("Smooth window,"+Integer.toString( BigTraceData.nSmoothWindow )+"\n");
70+
6671
nRoiN = bt.roiManager.rois.size();
6772
writer.write("ROIsNumber," + Integer.toString(nRoiN)+"\n");
6873
for(nRoi=0;nRoi<nRoiN;nRoi++)

src/main/java/bigtrace/io/ViewsIO.java

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,19 @@ public static < T extends RealType< T > & NativeType< T > > void saveView(final
7070
writer.write("wireAntiAliasing,"+Integer.toString( BigTraceData.wireAntiAliasing ? 1 : 0)+"\n");
7171
writer.write("timeRender,"+Integer.toString( BigTraceData.timeRender )+"\n");
7272
writer.write("timeFade,"+Integer.toString( BigTraceData.timeFade )+"\n");
73-
73+
//tracing parameters
74+
writer.write("nTraceBoxSize,"+Integer.toString( bt.btData.nTraceBoxSize )+"\n");
75+
writer.write("fTraceBoxScreenFraction,"+df3.format(bt.btData.fTraceBoxScreenFraction)+"\n");
76+
writer.write("fTraceBoxAdvanceFraction,"+df3.format(bt.btData.fTraceBoxAdvanceFraction)+"\n");
77+
writer.write("nVertexPlacementPointN,"+Integer.toString( bt.btData.nVertexPlacementPointN )+"\n");
78+
writer.write("dDirectionalityOneClick,"+df3.format(bt.btData.dDirectionalityOneClick)+"\n");
79+
writer.write("bOCIntensityStop,"+Integer.toString(bt.btData.bOCIntensityStop ? 1 : 0)+"\n");
80+
writer.write("dOCIntensityThreshold,"+df3.format(bt.btData.dOCIntensityThreshold)+"\n");
81+
for (int d=0;d<3;d++)
82+
{
83+
writer.write("Trace sigma,"+Integer.toString( d )+ ","+ df3.format(bt.btData.sigmaTrace[d])+"\n");
84+
}
85+
7486
writer.write("Scene, current\n");
7587
bt.getCurrentScene().save( writer );
7688
int nSourcesN = bt.bvv_sources.size();
@@ -145,6 +157,8 @@ public static < T extends RealType< T > & NativeType< T > > void loadView(final
145157
bt.bInputLock = true;
146158
bt.setLockMode(true);
147159
int nSourcesN = bt.bvv_sources.size();
160+
161+
String [] sigmaTraceName = new String [] {"sigmaTraceX", "sigmaTraceY", "sigmaTraceZ"};
148162
try ( BufferedReader br = new BufferedReader(new FileReader(sFilename));)
149163
{
150164
String line = "";
@@ -265,6 +279,40 @@ public static < T extends RealType< T > & NativeType< T > > void loadView(final
265279
BigTraceData.timeFade = Integer.parseInt( line_array[1] );
266280
Prefs.set("BigTrace.timeFade", BigTraceData.timeFade);
267281
break;
282+
case "nTraceBoxSize":
283+
bt.btData.nTraceBoxSize = Integer.parseInt( line_array[1] );
284+
Prefs.set("BigTrace.nTraceBoxSize", bt.btData.nTraceBoxSize);
285+
break;
286+
case "fTraceBoxScreenFraction":
287+
bt.btData.fTraceBoxScreenFraction = Float.parseFloat( line_array[1] );
288+
Prefs.set("BigTrace.fTraceBoxScreenFraction", bt.btData.fTraceBoxScreenFraction);
289+
break;
290+
case "fTraceBoxAdvanceFraction":
291+
bt.btData.fTraceBoxAdvanceFraction = Float.parseFloat( line_array[1] );
292+
Prefs.set("BigTrace.fTraceBoxAdvanceFraction", bt.btData.fTraceBoxAdvanceFraction);
293+
break;
294+
case "nVertexPlacementPointN":
295+
bt.btData.nVertexPlacementPointN = Integer.parseInt( line_array[1] );
296+
Prefs.set("BigTrace.nVertexPlacementPointN", bt.btData.nVertexPlacementPointN);
297+
break;
298+
case "dDirectionalityOneClick":
299+
bt.btData.dDirectionalityOneClick = Double.parseDouble( line_array[1] );
300+
Prefs.set("BigTrace.dDirectionalityOneClick", bt.btData.dDirectionalityOneClick);
301+
break;
302+
case "bOCIntensityStop":
303+
bt.btData.bOCIntensityStop = line_array[1].equals( "1" )? true : false;
304+
Prefs.set("BigTrace.bOCIntensityStop", bt.btData.bOCIntensityStop);
305+
break;
306+
case "dOCIntensityThreshold":
307+
bt.btData.dOCIntensityThreshold = Double.parseDouble( line_array[1] );
308+
Prefs.set("BigTrace.dOCIntensityThreshold", bt.btData.dOCIntensityThreshold);
309+
break;
310+
case "Trace sigma":
311+
int dA = Integer.parseInt( line_array[1]);
312+
bt.btData.sigmaTrace[dA] = Double.parseDouble( line_array[2] ) ;
313+
Prefs.set("BigTrace."+sigmaTraceName[dA], bt.btData.sigmaTrace[dA]);
314+
break;
315+
268316
case "Scene":
269317
final Scene scLoad = new Scene();
270318
scLoad.load( br );

src/main/java/bigtrace/rois/RoiManager3DDialogs.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ public void dialSemiAutoProperties()
104104
NumberField nfTraceBoxScreenFraction = new NumberField(4);
105105
NumberField nfTBAdvance = new NumberField(4);
106106

107-
nfTraceBoxSize.setText(Integer.toString((int)(2.0*bt.btData.lTraceBoxSize)));
108-
nfTraceBoxScreenFraction.setText(df.format(bt.btData.dTraceBoxScreenFraction));
107+
nfTraceBoxSize.setText(Integer.toString((int)(2.0*bt.btData.nTraceBoxSize)));
108+
nfTraceBoxScreenFraction.setText(df.format(bt.btData.fTraceBoxScreenFraction));
109109
nfGammaTrace.setText(df.format(bt.btData.gammaTrace));
110110
nfTBAdvance.setText(df.format(bt.btData.fTraceBoxAdvanceFraction));
111111

@@ -145,12 +145,9 @@ public void dialSemiAutoProperties()
145145

146146
if (reply == JOptionPane.OK_OPTION)
147147
{
148-
149-
bt.btData.lTraceBoxSize=(long)(Integer.parseInt(nfTraceBoxSize.getText())*0.5);
150-
Prefs.set("BigTrace.lTraceBoxSize", bt.btData.lTraceBoxSize);
151-
152-
bt.btData.lTraceBoxSize=(long)(Integer.parseInt(nfTraceBoxSize.getText())*0.5);
153-
Prefs.set("BigTrace.lTraceBoxSize", bt.btData.lTraceBoxSize);
148+
149+
bt.btData.nTraceBoxSize = (int)(Integer.parseInt(nfTraceBoxSize.getText())*0.5);
150+
Prefs.set("BigTrace.lTraceBoxSize", bt.btData.nTraceBoxSize);
154151

155152
//TRACING OPTIONS
156153

@@ -166,11 +163,8 @@ public void dialSemiAutoProperties()
166163
bt.btData.bTraceOnlyClipped = cbTraceOnlyClipped.isSelected();
167164
Prefs.set("BigTrace.bTraceOnlyClipped", bt.btData.bTraceOnlyClipped);
168165

169-
bt.btData.lTraceBoxSize=(long)(Integer.parseInt(nfTraceBoxSize.getText())*0.5);
170-
Prefs.set("BigTrace.lTraceBoxSize", bt.btData.lTraceBoxSize);
171-
172-
bt.btData.dTraceBoxScreenFraction = Double.parseDouble(nfTraceBoxScreenFraction.getText());
173-
Prefs.set("BigTrace.dTraceBoxScreenFraction", bt.btData.dTraceBoxScreenFraction);
166+
bt.btData.fTraceBoxScreenFraction = Float.parseFloat(nfTraceBoxScreenFraction.getText());
167+
Prefs.set("BigTrace.dTraceBoxScreenFraction", bt.btData.fTraceBoxScreenFraction);
174168

175169
bt.btData.fTraceBoxAdvanceFraction = Float.parseFloat(nfTBAdvance.getText());
176170
Prefs.set("BigTrace.fTraceBoxAdvanceFraction", bt.btData.fTraceBoxAdvanceFraction);

0 commit comments

Comments
 (0)