diff --git a/BioVoxxel_3D_Box/.classpath b/BioVoxxel_3D_Box/.classpath
index a50ca11..928ce8d 100644
--- a/BioVoxxel_3D_Box/.classpath
+++ b/BioVoxxel_3D_Box/.classpath
@@ -13,7 +13,11 @@
-
+
+
+
+
+
diff --git a/BioVoxxel_3D_Box/pom.xml b/BioVoxxel_3D_Box/pom.xml
index b8bf8a8..c7ba4a0 100644
--- a/BioVoxxel_3D_Box/pom.xml
+++ b/BioVoxxel_3D_Box/pom.xml
@@ -2,7 +2,7 @@
4.0.0
de.biovoxxel
bv3dbox
- 1.13.4
+ 1.14.2
BioVoxxel 3D Box
2021
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_NeighborAnalysisGUI.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_NeighborAnalysisGUI.java
index 702765e..d02f3e0 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_NeighborAnalysisGUI.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_NeighborAnalysisGUI.java
@@ -80,7 +80,8 @@ public void run() {
ImagePlus neighborCountMapImp = BV3DBoxUtilities.pullImageFromGPU(neighborAnalysis.getCurrentCLIJ2Instance(), neighbor_image, false, LutNames.GEEN_FIRE_BLUE_LUT);
neighborCountMapImp.setTitle(WindowManager.getUniqueName("NeighborCount_" + inputImagePlus.getTitle()));
-
+ System.out.println("Calibration = " + inputImagePlus.getCalibration());
+ neighborCountMapImp.setCalibration(inputImagePlus.getCalibration());
neighborCountMapImp.show();
if (plotNeighborCount) {
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_ObjectInspectorGUI.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_ObjectInspectorGUI.java
index 835aa50..61def07 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_ObjectInspectorGUI.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/gui/BV_ObjectInspectorGUI.java
@@ -91,6 +91,9 @@ public class BV_ObjectInspectorGUI extends DynamicCommand {
+ " This however introduces a certain bias and error in any analysis and should be used with care or only in test cases.")
private Boolean pad_stack_tops = false;
+ @Parameter(required = false, label = "Display results tables", description = "")
+ private Boolean display_results_tables = true;
+
@Parameter(required = false, label = "Show analysis label map", description = "")
private Boolean display_analyzed_label_maps = false;
@@ -137,7 +140,8 @@ public void run() {
bvoi.setSecondaryVolumeRange(secondary_volume_range);
bvoi.setSecondaryMMDTCRRange(secondary_MMER_range);
bvoi.setEdgeExclusion(exclude_primary_objects_on_edges);
- bvoi.setOutputImageFlags(display_analyzed_label_maps, show_count_map);
+ bvoi.padStackTops(pad_stack_tops);
+ bvoi.setOutputImageFlags(display_results_tables, display_analyzed_label_maps, show_count_map);
bvoi.inspect();
}
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ConvolutedBackgroundSubtraction.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ConvolutedBackgroundSubtraction.java
index f728d92..da59ddf 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ConvolutedBackgroundSubtraction.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ConvolutedBackgroundSubtraction.java
@@ -2,7 +2,6 @@
import de.biovoxxel.bv3dbox.utilities.BV3DBoxUtilities;
import ij.ImagePlus;
-import ij.WindowManager;
import net.haesleinhuepf.clij.clearcl.ClearCLBuffer;
import net.haesleinhuepf.clij2.CLIJ2;
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_FlatFieldCorrection.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_FlatFieldCorrection.java
index fc1ab2f..f75223e 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_FlatFieldCorrection.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_FlatFieldCorrection.java
@@ -267,7 +267,7 @@ public void flatFieldCorrection() {
if (showDebugImages) {
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, corrected_image, false, LutNames.GRAY);
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, corrected_image, false, LutNames.GRAY, originalImagePlus.getCalibration());
}
@@ -288,6 +288,7 @@ public void flatFieldCorrection() {
correctedImagePlus.setTitle(WindowManager.getUniqueName("FFCorr_" + originalImagePlus.getTitle()));
correctedImagePlus.getProcessor().resetMinAndMax();
+ correctedImagePlus.setCalibration(originalImagePlus.getCalibration());
correctedImagePlus.show();
}
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_NeighborAnalysis.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_NeighborAnalysis.java
index 385decc..de84062 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_NeighborAnalysis.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_NeighborAnalysis.java
@@ -57,7 +57,8 @@ public class BV_NeighborAnalysis {
private LogService log = new StderrLogService();
private PrefService prefs = new DefaultPrefService();
- private Boolean displayDebugImages = prefs.getBoolean(BV3DBoxSettings.class, "bv_3d_box_settings_display_debug_images", false);
+// private Boolean displayDebugImages = prefs.getBoolean(BV3DBoxSettings.class, "bv_3d_box_settings_display_debug_images", false);
+ private Boolean displayDebugImages = false;
private CLIJ2 clij2;
private ClearCLBuffer connectedComponentLabels;
@@ -126,7 +127,7 @@ public ClearCLBuffer getNeighborCountMap(ClearCLBuffer input_image, String metho
clij2.excludeLabelsOutsideSizeRange(size_limited_label_image, input_image, minSize, maxSize);
- if(displayDebugImages) { BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, input_image, true, LutNames.GLASBEY_LUT); }
+ if(displayDebugImages) { BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, input_image, true, LutNames.GLASBEY_LUT, null); }
size_limited_label_image.close();
}
@@ -138,7 +139,7 @@ public ClearCLBuffer getNeighborCountMap(ClearCLBuffer input_image, String metho
clij2.extendLabelingViaVoronoi(input_image, voronoi_image);
- if (displayDebugImages) { BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, voronoi_image, false, LutNames.GLASBEY_LUT); }
+ if (displayDebugImages) { BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, voronoi_image, false, LutNames.GLASBEY_LUT, null); }
if (method.equals(NeighborMethods.OBJECTS.method)) {
@@ -289,7 +290,7 @@ public static void main(String[] args) {
ImagePlus neighborCountMapImp = BV3DBoxUtilities.pullImageFromGPU(neighborAnalysis.getCurrentCLIJ2Instance(), neighbor_image, false, LutNames.GEEN_FIRE_BLUE_LUT);
neighborCountMapImp.setTitle(WindowManager.getUniqueName("NeighborCount_" + inputImagePlus.getTitle()));
-
+ neighborCountMapImp.setCalibration(inputImagePlus.getCalibration());
neighborCountMapImp.show();
if (plotNeighborCount) {
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ObjectInspector.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ObjectInspector.java
index 400ab87..902082c 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ObjectInspector.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ObjectInspector.java
@@ -81,6 +81,7 @@ public class BV_ObjectInspector implements Cancelable {
private String secondary_MMER_range = "0.00-1.00";
private Boolean exclude_primary_objects_on_edges = true;
private Boolean pad_stack_tops = false;
+ private Boolean display_results_tables = true;
private Boolean display_analyzed_label_maps = false;
private Boolean show_count_map = false;
@@ -191,7 +192,8 @@ public void padStackTops(boolean pad_stack_tops) {
* @param display_analyzed_label_maps
* @param show_count_map
*/
- public void setOutputImageFlags(boolean display_analyzed_label_maps, boolean show_count_map) {
+ public void setOutputImageFlags(boolean display_results_tables, boolean display_analyzed_label_maps, boolean show_count_map) {
+ this.display_results_tables = display_results_tables;
this.display_analyzed_label_maps = display_analyzed_label_maps;
this.show_count_map = show_count_map;
}
@@ -215,6 +217,7 @@ public void inspect() {
log.debug("secondary_MMDTCR_range = " + secondary_MMER_range);
log.debug("exclude_primary_objects_on_edges = " + exclude_primary_objects_on_edges);
log.debug("pad_stack_tops = " + pad_stack_tops);
+ log.debug("display_results_tables = " + display_results_tables);
log.debug("display_analyzed_label_maps = " + display_analyzed_label_maps);
log.debug("show_count_map = " + show_count_map);
log.debug("------------------------------------------------------");
@@ -474,7 +477,7 @@ public void inspect() {
final_primary_results_table.setColumn("SEC_OBJECT_COUNT", secondaryObjectCountArray);
if (show_count_map) {
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, overlapCountMap, true, LutNames.GEEN_FIRE_BLUE_LUT); //test output
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, overlapCountMap, true, LutNames.GEEN_FIRE_BLUE_LUT, voxel_calibration); //test output
}
overlapCountMap.close();
@@ -585,8 +588,8 @@ public void inspect() {
if (display_analyzed_label_maps) {
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, finalLabels_1, true, LutNames.GLASBEY_LUT);
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, finalLabels_2, true, LutNames.GLASBEY_LUT);
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, finalLabels_1, true, LutNames.GLASBEY_LUT, voxel_calibration);
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, finalLabels_2, true, LutNames.GLASBEY_LUT, voxel_calibration);
}
finalLabels_1.close();
finalLabels_2.close();
@@ -677,8 +680,10 @@ public void inspect() {
secondary_original_measurements_table = null;
- final_primary_results_table.show(PRIMARY_RESULTS_TABLE_NAME);
- final_secondary_results_table.show(SECONDARY_RESULTS_TABLE_NAME);
+ if (display_results_tables) {
+ final_primary_results_table.show(PRIMARY_RESULTS_TABLE_NAME);
+ final_secondary_results_table.show(SECONDARY_RESULTS_TABLE_NAME);
+ }
clij2.clear();
}
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_OverlapExtractor.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_OverlapExtractor.java
index 044188d..879dcd1 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_OverlapExtractor.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_OverlapExtractor.java
@@ -227,7 +227,7 @@ public void extract() {
ClearCLBuffer percent_volume_vector = clij2.push(percent_volume_image);
percent_volume_map.setName("%volume_" + image_plus_2.getTitle());
clij2.generateParametricImage(image_1_CCL, percent_volume_vector, percent_volume_map);
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, percent_volume_map, true, LutNames.GEEN_FIRE_BLUE_LUT);
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, percent_volume_map, true, LutNames.GEEN_FIRE_BLUE_LUT, image_plus_1.getCalibration());
percent_volume_map.close();
percent_volume_vector.close();
}
@@ -237,7 +237,7 @@ public void extract() {
ClearCLBuffer kept_image_1_CCL = clij2.create(image_1_CCL);
kept_image_1_CCL.setName("extracted_" + image_plus_1.getTitle());
clij2.excludeLabels(flag_list_vector, image_1_CCL, kept_image_1_CCL);
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, kept_image_1_CCL, true, LutNames.GEEN_FIRE_BLUE_LUT);
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, kept_image_1_CCL, true, LutNames.GEEN_FIRE_BLUE_LUT, image_plus_1.getCalibration());
flag_list_vector.close();
kept_image_1_CCL.close();
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PostProcessor.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PostProcessor.java
index 1bef10c..e350e05 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PostProcessor.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PostProcessor.java
@@ -62,7 +62,7 @@ public class BV_PostProcessor extends DynamicCommand {
private final PrefService prefs = new DefaultPrefService();
private static CLIJ2 clij2;
private ClearCLBuffer input_image;
- private BV_LabelSeparator bvls = new BV_LabelSeparator();
+// private BV_LabelSeparator bvls = new BV_LabelSeparator();
/**
*
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PseudoFlatFieldCorrection.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PseudoFlatFieldCorrection.java
index 928cf05..94f9f0d 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PseudoFlatFieldCorrection.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_PseudoFlatFieldCorrection.java
@@ -1,7 +1,5 @@
package de.biovoxxel.bv3dbox.plugins;
-import java.awt.Point;
-
import org.scijava.Cancelable;
import org.scijava.log.LogLevel;
import org.scijava.log.LogService;
@@ -14,7 +12,6 @@
import de.biovoxxel.bv3dbox.utilities.BV3DBoxUtilities.LutNames;
import ij.ImagePlus;
import ij.WindowManager;
-import ij.gui.ImageWindow;
import ij.measure.Calibration;
import net.haesleinhuepf.clij.clearcl.ClearCLBuffer;
import net.haesleinhuepf.clij.coremem.enums.NativeTypeEnum;
@@ -165,8 +162,7 @@ public void runCorrection(float radius, boolean force2D, boolean showBackgroundI
outputImagePlus.setImage(tempOutputImagePlus);
outputImagePlus.setTitle(outputImageName);
- //ImageWindow inputImageWindow = inputImagePlus.getWindow();
- //Point inputImageLocation = inputImageWindow.getLocationOnScreen();
+ outputImagePlus.setCalibration(inputImagePlus.getCalibration());
outputImagePlus.show();
//outputImagePlus.getWindow().setLocation(inputImageLocation.x + inputImageWindow.getWidth() + 10, inputImageLocation.y);
BV3DBoxUtilities.adaptImageDisplay(inputImagePlus, outputImagePlus);
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ThresholdCheck.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ThresholdCheck.java
index b1797c1..e29c6ec 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ThresholdCheck.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/plugins/BV_ThresholdCheck.java
@@ -233,19 +233,20 @@ public void applyThreshold(double thresholdValue) {
ImagePlus outputImagePlus = clij2.pullBinary(outputImage);
outputImagePlus.setTitle(outputImageName);
+ outputImagePlus.setCalibration(inputImagePlus.getCalibration());
outputImagePlus.show();
} else if (outputImageStyle.equals("0/1")) {
outputImage.setName(outputImageName);
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, outputImage, true, LutNames.GRAY);
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, outputImage, true, LutNames.GRAY, inputImagePlus.getCalibration());
} else {
ClearCLBuffer labelOutputImage = clij2.create(outputImage.getDimensions(), NativeTypeEnum.Float);
clij2.connectedComponentsLabelingBox(outputImage, labelOutputImage);
labelOutputImage.setName(outputImageName);
- BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, labelOutputImage, true, LutNames.GLASBEY_LUT);
+ BV3DBoxUtilities.pullAndDisplayImageFromGPU(clij2, labelOutputImage, true, LutNames.GLASBEY_LUT, inputImagePlus.getCalibration());
labelOutputImage.close();
}
diff --git a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/utilities/BV3DBoxUtilities.java b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/utilities/BV3DBoxUtilities.java
index 13ea085..2ba5d4f 100644
--- a/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/utilities/BV3DBoxUtilities.java
+++ b/BioVoxxel_3D_Box/src/main/java/de/biovoxxel/bv3dbox/utilities/BV3DBoxUtilities.java
@@ -174,7 +174,7 @@ public static String[] extendImageTitleListWithNone() {
}
- public static void pullAndDisplayImageFromGPU(CLIJ2 clij2, ClearCLBuffer imageToShow, boolean autoContrast, LutNames lutName) {
+ public static void pullAndDisplayImageFromGPU(CLIJ2 clij2, ClearCLBuffer imageToShow, boolean autoContrast, LutNames lutName, Calibration cal) {
ImagePlus imagePlusToBePulled = clij2.pull(imageToShow);
imagePlusToBePulled.setTitle(imageToShow.getName());
@@ -198,6 +198,12 @@ public static void pullAndDisplayImageFromGPU(CLIJ2 clij2, ClearCLBuffer imageTo
} else {
imagePlusToBePulled.resetDisplayRange();
}
+
+ System.out.println("Calubration = " + cal);
+ if (cal != null) {
+ imagePlusToBePulled.setCalibration(cal);
+ }
+
imagePlusToBePulled.show();
}