Skip to content

Commit 9e665ad

Browse files
committed
BUGFIX: rangeSpatial* were overflowing max ranges...
1 parent ba9d136 commit 9e665ad

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/main/java/cz/it4i/fiji/legacy/common/ImagePlusDialogHandler.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,19 @@ abstract class ImagePlusDialogHandler extends DynamicCommand {
4040
public String datasetLabel = "";
4141

4242
@Parameter(label="min X [px]:", min="0", callback = "rangeSpatialX")
43-
public int minX = -1;
43+
public int minX = -5;
4444
@Parameter(label="max X [px]:", min="0", callback = "rangeSpatialX")
45-
public int maxX = -1;
45+
public int maxX = -5;
4646

4747
@Parameter(label="min Y [px]:", min="0", callback = "rangeSpatialY")
48-
public int minY = -1;
48+
public int minY = -5;
4949
@Parameter(label="max Y [px]:", min="0", callback = "rangeSpatialY")
50-
public int maxY = -1;
50+
public int maxY = -5;
5151

5252
@Parameter(label="min Z [px]:", min="0", callback = "rangeSpatialZ")
53-
public int minZ = -1;
53+
public int minZ = -5;
5454
@Parameter(label="max Z [px]:", min="0", callback = "rangeSpatialZ")
55-
public int maxZ = -1;
55+
public int maxZ = -5;
5656

5757
@Parameter(label="time point:", min="0", callback = "rangeTPs",
5858
description="In units of the respective dataset.",
@@ -276,7 +276,8 @@ private void rangeSpatial(int cn,int cx, int nI,int xI, int blockSize, int maxx)
276276
//upper bound: align to block size
277277
if (max < 1) max = 1;
278278
max = (int)Math.ceil((double)max / (double)blockSize) * blockSize -1;
279-
if (max > maxx) max = maxx-1;
279+
if (max > maxx || max < 0) max = maxx-1;
280+
//NB: multiplication after ceil() can make 'max' overflow (and end up negative as a consequence)
280281

281282
//lower bound: align to block size
282283
if (min < 0) min = 0;

0 commit comments

Comments
 (0)