diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/AutoRescaleIntensityImageTransformerFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/AutoRescaleIntensityImageTransformerFactory.java index 06e0c6acbcd8962aa4aac6173b78c5d7f25323b1..c952a10645c71b03e531930402c64c7a16df2bd1 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/AutoRescaleIntensityImageTransformerFactory.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/AutoRescaleIntensityImageTransformerFactory.java @@ -51,6 +51,10 @@ public class AutoRescaleIntensityImageTransformerFactory implements IImageTransf { public BufferedImage transform(BufferedImage image) { + if (IntensityRescaling.isNotGrayscale(image)) + { + return image; + } Levels levels = IntensityRescaling.computeLevels(image, threshold); return IntensityRescaling.rescaleIntensityLevelTo8Bits(image, levels); } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/BitShiftingImageTransformerFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/BitShiftingImageTransformerFactory.java index b036a1046c514669f92d78da0a47b594bb40781d..801b2849a68d90936c025ac10f8dbc019240ee14 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/BitShiftingImageTransformerFactory.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/BitShiftingImageTransformerFactory.java @@ -33,6 +33,10 @@ final class BitShiftingImageTransformerFactory implements IImageTransformerFacto { public BufferedImage transform(BufferedImage image) { + if (IntensityRescaling.isNotGrayscale(image)) + { + return image; + } return IntensityRescaling.rescaleIntensityBitShiftTo8Bits(image, shiftBits); } }; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/IntensityRangeImageTransformerFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/IntensityRangeImageTransformerFactory.java index 5c3207ddec4f8845856cec621d0cd695ff6226fe..cf385e641d05b76414d8c657b2f3427e8fe201ee 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/IntensityRangeImageTransformerFactory.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/IntensityRangeImageTransformerFactory.java @@ -53,6 +53,10 @@ public class IntensityRangeImageTransformerFactory implements IImageTransformerF { public BufferedImage transform(BufferedImage image) { + if (IntensityRescaling.isNotGrayscale(image)) + { + return image; + } Levels levels = new Levels(blackPointIntensity, whitePointIntensity); return IntensityRescaling.rescaleIntensityLevelTo8Bits(image, levels); }