Skip to content
Snippets Groups Projects
Commit 485cb311 authored by tpylak's avatar tpylak
Browse files

LMS-2502 image transformations: minor refactoring

SVN: 22933
parent cc3df0c9
No related branches found
No related tags found
No related merge requests found
......@@ -40,7 +40,6 @@ import ch.systemsx.cisd.common.filesystem.FileUtilities;
import ch.systemsx.cisd.common.logging.LogCategory;
import ch.systemsx.cisd.common.logging.LogFactory;
import ch.systemsx.cisd.common.utilities.PropertyUtils;
import ch.systemsx.cisd.imagereaders.ImageID;
import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.Channel;
import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ImageFileInfo;
import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ImageIdentifier;
......@@ -472,7 +471,8 @@ abstract public class AbstractImageFileExtractor implements IImageFileExtractor
{
RelativeImageReference relativeImageRef =
new RelativeImageReference(imageInfo.getImageRelativePath(),
getImageID(imageInfo.tryGetImageIdentifier()), colorComponentOrNull);
getUniqueStringIdentifier(imageInfo.tryGetImageIdentifier()),
colorComponentOrNull);
Location wellLoc = null;
if (imageInfo.hasWellLocation())
{
......@@ -486,15 +486,14 @@ abstract public class AbstractImageFileExtractor implements IImageFileExtractor
return new AcquiredSingleImage(wellLoc, tileLoc, channelCode, imageInfo.tryGetTimepoint(),
imageInfo.tryGetDepth(), imageInfo.tryGetSeriesNumber(), relativeImageRef);
}
private static String getImageID(ImageIdentifier identifier)
private static String getUniqueStringIdentifier(ImageIdentifier identifier)
{
if (identifier == null)
{
return null;
}
return new ImageID(identifier.getSeriesIndex(), identifier.getTimeSeriesIndex(),
identifier.getFocalPlaneIndex(), identifier.getColorChannelIndex()).getID();
return identifier.getUniqueStringIdentifier();
}
protected static Integer tryAsInt(String valueOrNull)
......
......@@ -190,7 +190,7 @@ class Hdf5ThumbnailGenerator implements IHDF5WriterClient
private byte[] generateThumbnailInternally(File imageFile, String imageIdOrNull,
ByteArrayOutputStream bufferOutputStream) throws IOException
{
BufferedImage image = loadImage(imageFile, imageIdOrNull);
BufferedImage image = loadUnchangedImage(imageFile, imageIdOrNull);
BufferedImage thumbnail =
ImageUtil.rescale(image, thumbnailsStorageFormat.getMaxWidth(),
thumbnailsStorageFormat.getMaxHeight(), false,
......@@ -199,10 +199,10 @@ class Hdf5ThumbnailGenerator implements IHDF5WriterClient
return bufferOutputStream.toByteArray();
}
private BufferedImage loadImage(File imageFile, String imageIdOrNull)
private BufferedImage loadUnchangedImage(File imageFile, String imageIdOrNull)
{
return AbsoluteImageReference.loadUnchangedImage(new FileBasedContent(imageFile), imageIdOrNull,
imageLibraryOrNull);
return AbsoluteImageReference.loadUnchangedImage(new FileBasedContent(imageFile),
imageIdOrNull, imageLibraryOrNull);
}
private Status createStatus(String thumbnailPath, IOException ex)
......
......@@ -16,6 +16,8 @@
package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
import ch.systemsx.cisd.imagereaders.ImageID;
/**
* Immutable value class of an image ID based on series index, time series index, focal plane index,
* and color channel index. It will be used to identify images in a container image file format like
......@@ -26,7 +28,7 @@ package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
public class ImageIdentifier implements Comparable<ImageIdentifier>
{
public static final ImageIdentifier NULL = new ImageIdentifier(0, 0, 0, 0);
private final int seriesIndex;
private final int timeSeriesIndex;
......@@ -34,7 +36,7 @@ public class ImageIdentifier implements Comparable<ImageIdentifier>
private final int focalPlaneIndex;
private final int colorChannelIndex;
/**
* Creates an instance for the specified series index, time series (or T) index, focal plane (or
* Z) index, color channel index.
......@@ -68,6 +70,12 @@ public class ImageIdentifier implements Comparable<ImageIdentifier>
return colorChannelIndex;
}
public String getUniqueStringIdentifier()
{
return new ImageID(getSeriesIndex(), getTimeSeriesIndex(), getFocalPlaneIndex(),
getColorChannelIndex()).getID();
}
public int compareTo(ImageIdentifier that)
{
int diff = seriesIndex - that.seriesIndex;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment