From a30b5d18bff399c4407ab20f5c102239c254ab77 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Thu, 4 Sep 2014 08:59:10 +0000 Subject: [PATCH] SSDM-803: Some tiny refactoring of ImageUtil and ImageChannelsUtils to increase readability. SVN: 32410 --- .../dss/generic/shared/utils/ImageUtil.java | 20 ++++++------------- .../server/images/ImageChannelsUtils.java | 8 ++------ 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ImageUtil.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ImageUtil.java index 34d235eb68a..9cb341b526d 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ImageUtil.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/ImageUtil.java @@ -882,7 +882,7 @@ public class ImageUtil + contentNode.getRelativePath()); } BufferedImage result = loadImage(contentNode); - result = convertForDisplayIfNecessary(result); + result = convertForDisplayIfNecessary(result, null); return result; } @@ -902,7 +902,7 @@ public class ImageUtil int maxHeight) { BufferedImage result = rescale(image, maxWidth, maxHeight, true, false); - result = convertForDisplayIfNecessary(result); + result = convertForDisplayIfNecessary(result, null); return result; } @@ -910,23 +910,15 @@ public class ImageUtil * If the specified image uses grayscale with color depth larger then 8 bits, conversion to 8 * bits grayscale is done. Otherwise the original image is returned. */ - public static BufferedImage convertForDisplayIfNecessary(BufferedImage image) - { - return convertForDisplayIfNecessary(image, DEFAULT_IMAGE_OPTIMAL_RESCALING_FACTOR); - } - - /** - * If the specified image uses grayscale with color depth larger then 8 bits, conversion to 8 - * bits grayscale is done. Otherwise the original image is returned. - */ - public static BufferedImage convertForDisplayIfNecessary(BufferedImage image, float threshold) + public static BufferedImage convertForDisplayIfNecessary(BufferedImage image, Float threshold) { if (isGrayscale(image)) { if (image.getColorModel().getPixelSize() > 8) { GrayscalePixels pixels = new GrayscalePixels(image); - Levels intensityRange = IntensityRescaling.computeLevels(pixels, threshold); + Levels intensityRange = IntensityRescaling.computeLevels(pixels, + threshold == null ? DEFAULT_IMAGE_OPTIMAL_RESCALING_FACTOR : threshold); BufferedImage result = IntensityRescaling.rescaleIntensityLevelTo8Bits(pixels, intensityRange); return result; @@ -986,7 +978,7 @@ public class ImageUtil // WORKAROUND: non-default interpolations do not work well with 16 bit grayscale images. // We have to rescale colors to 8 bit here, otherwise the result will contain only few // colors. - imageToRescale = convertForDisplayIfNecessary(imageToRescale, 0); + imageToRescale = convertForDisplayIfNecessary(imageToRescale, 0f); } graphics2D.drawImage(imageToRescale, 0, 0, thumbnailWidth, thumbnailHeight, null); graphics2D.dispose(); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java index 546617321c0..adc2c89882c 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/images/ImageChannelsUtils.java @@ -545,9 +545,7 @@ public class ImageChannelsUtils { BufferedImage image = calculateSingleImage(imageReference); image = transform(image, imageReference, transformationInfo); - image = - threshold == null ? ImageUtil.convertForDisplayIfNecessary(image) : ImageUtil - .convertForDisplayIfNecessary(image, threshold); + image = ImageUtil.convertForDisplayIfNecessary(image, threshold); return image; } @@ -758,9 +756,7 @@ public class ImageChannelsUtils { // NOTE: here we skip image level transformations as well image = calculateSingleImage(imageRef); - image = - threshold == null ? ImageUtil.convertForDisplayIfNecessary(image) - : ImageUtil.convertForDisplayIfNecessary(image, threshold); + image = ImageUtil.convertForDisplayIfNecessary(image, threshold); } images.add(new ImageWithReference(image, imageRef)); } -- GitLab