From 05c3c4a6314284084c5112a8298a225a57177bad Mon Sep 17 00:00:00 2001 From: Jan Brocher Date: Thu, 27 Jun 2024 18:47:15 +0200 Subject: [PATCH] bugfix for not updating the display range of result image --- .../bv3dbox/plugins/BV_FlatFieldCorrection.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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 8627e9d..7ed4a04 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 @@ -18,6 +18,7 @@ import net.haesleinhuepf.clij.coremem.enums.NativeTypeEnum; import net.haesleinhuepf.clij2.CLIJ2; + /* * BSD 3-Clause License * @@ -87,7 +88,6 @@ public void setImages(ImagePlus originalImagePlus, ImagePlus flatFieldImagePlus, log.debug("flatFieldImagePlus = " + flatFieldImagePlus); log.debug("darkFieldImagePlus = " + darkFieldImagePlus); - this.originalImagePlus = originalImagePlus; long[] originalDimensions = null; @@ -150,6 +150,7 @@ public void setImages(ImagePlus originalImagePlus, ImagePlus flatFieldImagePlus, flat_field_image = clij2.create(flatFieldDimensions, NativeTypeEnum.Float); + if (originalDimensions[DEPTH] > 1 && flatFieldDimensions[DEPTH] == 1) { ClearCLBuffer temp_flat_field = clij2.push(flatFieldImagePlus); @@ -166,7 +167,7 @@ public void setImages(ImagePlus originalImagePlus, ImagePlus flatFieldImagePlus, if (darkFieldImagePlus != null) { - + if (darkFieldImagePlus.getBitDepth() == 24 && darkFieldImagePlus.hasImageStack()) { nonSupportedFormat(darkFieldImagePlus); @@ -263,7 +264,7 @@ public void flatFieldCorrection() { if (originalImagePlus.getBitDepth() == 24 && !originalImagePlus.hasImageStack()) { - ImagePlus correctedLightnessImagePlus = clij2.pull(corrected_image); + ImagePlus correctedLightnessImagePlus = BV3DBoxUtilities.pullImageFromGPU(clij2, corrected_image, true, LutNames.GRAY); if (showDebugImages) { @@ -281,16 +282,18 @@ public void flatFieldCorrection() { } else { - correctedImagePlus = clij2.pull(corrected_image); + correctedImagePlus = BV3DBoxUtilities.pullImageFromGPU(clij2, corrected_image, false, LutNames.GRAY); + } corrected_image.close(); correctedImagePlus.setTitle(WindowManager.getUniqueName("FFCorr_" + originalImagePlus.getTitle())); - correctedImagePlus.getProcessor().resetMinAndMax(); correctedImagePlus.setCalibration(originalImagePlus.getCalibration()); correctedImagePlus.show(); correctedImagePlus.setLut(originalImagePlus.getProcessor().getLut()); + correctedImagePlus.resetDisplayRange(); + correctedImagePlus.updateAndDraw(); } }