Skip to content

Commit 35d283c

Browse files
committed
FIX: GuiResolutionLevelParams reports current block size in kBytes
1 parent 81e1a11 commit 35d283c

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

src/main/java/cz/it4i/fiji/legacy/CreateNewDataset.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.scijava.plugin.Plugin;
2424

2525
import cz.it4i.fiji.legacy.util.GuiResolutionLevelParams;
26+
import cz.it4i.fiji.legacy.util.Imglib2Types;
2627
import cz.it4i.fiji.rest.util.DatasetInfo;
2728

2829
@Plugin(type = Command.class, headless = true, menuPath = "Plugins>HPC DataStore>Create>Create new dataset")
@@ -122,7 +123,10 @@ public void run() {
122123
di.label = label;
123124

124125
final CommandInfo rldlg_ci = new CommandInfo(GuiResolutionLevelParams.class);
125-
final Map<String,Object> rldlg_presets = new HashMap<>(4);
126+
final Map<String,Object> rldlg_presets = new HashMap<>(5);
127+
rldlg_presets.put("pxSizeInBytes", ((Imglib2Types.TypeHandler<?>)Imglib2Types
128+
.getTypeHandler(voxelType)).nativeAndRealType.getBitsPerPixel()/8);
129+
126130
try {
127131
for (int levelCnt = 1; levelCnt <= numberOfAllResLevels; ++levelCnt) {
128132
rldlg_presets.put("resLevelNumber", levelCnt);

src/main/java/cz/it4i/fiji/legacy/CreateNewDatasetFromImage.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,9 @@ public void run() {
141141
di.label = label;
142142

143143
final CommandInfo rldlg_ci = new CommandInfo(GuiResolutionLevelParams.class);
144-
final Map<String,Object> rldlg_presets = new HashMap<>(4);
144+
final Map<String,Object> rldlg_presets = new HashMap<>(5);
145+
rldlg_presets.put("pxSizeInBytes", ((Imglib2Types.TypeHandler<?>)Imglib2Types
146+
.getTypeHandler(voxelType)).nativeAndRealType.getBitsPerPixel()/8);
145147
try {
146148
for (int levelCnt = 1; levelCnt <= numberOfAllResLevels; ++levelCnt) {
147149
rldlg_presets.put("resLevelNumber", levelCnt);

src/main/java/cz/it4i/fiji/legacy/util/GuiResolutionLevelParams.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,30 @@ public class GuiResolutionLevelParams implements Command {
1818
@Parameter(label = "Down-size factor in z:", min = "1", persist = false)
1919
public int down_z;
2020

21-
@Parameter(label = "Block size in pixels in x:", min = "1", persist = false)
21+
@Parameter(label = "Block size in pixels in x:", min = "1", persist = false, callback = "reportBlockSize")
2222
public int block_x;
23-
@Parameter(label = "Block size in pixels in y:", min = "1", persist = false)
23+
@Parameter(label = "Block size in pixels in y:", min = "1", persist = false, callback = "reportBlockSize")
2424
public int block_y;
25-
@Parameter(label = "Block size in pixels in z:", min = "1", persist = false)
25+
@Parameter(label = "Block size in pixels in z:", min = "1", persist = false, callback = "reportBlockSize")
2626
public int block_z;
2727

28+
@Parameter(visibility = ItemVisibility.MESSAGE, persist = false)
29+
public String sizeMessage;
30+
//
31+
@Parameter(persist = false)
32+
public int pxSizeInBytes = 2;
33+
2834
@Parameter(persist = false)
2935
public int resLevelNumber = 999;
3036

3137
@Parameter
3238
public PrefService prefs;
3339

40+
public void reportBlockSize() {
41+
sizeMessage = "Ideal block size is just below 1024 kB, current is "
42+
+(block_x*block_y*block_z*pxSizeInBytes/1024)+" kB.";
43+
}
44+
3445
public void setFromPrefs() {
3546
if (resLevelNumber == 1) {
3647
headerMessage = "Provide blocks size for the full resolution (base) level:";
@@ -45,6 +56,7 @@ public void setFromPrefs() {
4556
block_x = prefs.getInt(GuiResolutionLevelParams.class, "level"+resLevelNumber+"_block_x", 64);
4657
block_y = prefs.getInt(GuiResolutionLevelParams.class, "level"+resLevelNumber+"_block_y", 64);
4758
block_z = prefs.getInt(GuiResolutionLevelParams.class, "level"+resLevelNumber+"_block_z", 64);
59+
reportBlockSize();
4860
}
4961

5062
public void storeIntoPrefs() {

0 commit comments

Comments
 (0)