@Override public String getDimensionOrder() { return reader.getDimensionOrder(); }
@Override public String getDimensionOrder() { return reader.getDimensionOrder(); }
@Override public String getDimensionOrder() { return getReader().getDimensionOrder(); }
@Override public String getDimensionOrder() { return getReader().getDimensionOrder(); }
@Override public String getDimensionOrder() { FormatTools.assertId(getCurrentFile(), true, 2); String order = reader.getDimensionOrder(); if (canMerge()) { final StringBuilder sb = new StringBuilder(order); while (order.indexOf('C') != 2) { char pre = order.charAt(order.indexOf('C') - 1); sb.setCharAt(order.indexOf('C'), pre); sb.setCharAt(order.indexOf(pre), 'C'); order = sb.toString(); } } return order; }
@Override public String getDimensionOrder() { FormatTools.assertId(getCurrentFile(), true, 2); String order = reader.getDimensionOrder(); if (canMerge()) { final StringBuilder sb = new StringBuilder(order); while (order.indexOf('C') != 2) { char pre = order.charAt(order.indexOf('C') - 1); sb.setCharAt(order.indexOf('C'), pre); sb.setCharAt(order.indexOf(pre), 'C'); order = sb.toString(); } } return order; }
@Override public String getDimensionOrder() { FormatTools.assertId(getCurrentFile(), true, 2); if (noStitch) return reader.getDimensionOrder(); return core.get(getCoreIndex()).dimensionOrder; }
@Override public String getDimensionOrder() { FormatTools.assertId(getCurrentFile(), true, 2); if (noStitch) return reader.getDimensionOrder(); return core.get(getCoreIndex()).dimensionOrder; }
/** * Gets the rasterized index corresponding * to the given Z, C and T coordinates (real sizes). */ public static int getIndex(IFormatReader reader, int z, int c, int t) { String order = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int num = reader.getImageCount(); return getIndex(order, zSize, cSize, tSize, num, z, c, t); }
/** * Gets the Z, C and T coordinates corresponding * to the given rasterized index value (real sizes). */ public static int[] getZCTCoords(IFormatReader reader, int index) { String order = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int num = reader.getImageCount(); return getZCTCoords(order, zSize, cSize, tSize, num, index); }
/** * Gets the Z, C and T coordinates corresponding * to the given rasterized index value (real sizes). */ public static int[] getZCTCoords(IFormatReader reader, int index) { String order = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int num = reader.getImageCount(); return getZCTCoords(order, zSize, cSize, tSize, num, index); }
/** * Gets the rasterized index corresponding * to the given Z, C and T coordinates (real sizes). */ public static int getIndex(IFormatReader reader, int z, int c, int t) { String order = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int num = reader.getImageCount(); return getIndex(order, zSize, cSize, tSize, num, z, c, t); }
/** * Converts index from the given dimension order to the reader's native one. * This method is useful for shuffling the planar order around * (rather than eassigning ZCT sizes as {@link DimensionSwapper} does). * * @throws FormatException Never actually thrown. */ public static int getReorderedIndex(IFormatReader reader, String newOrder, int newIndex) throws FormatException { String origOrder = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int num = reader.getImageCount(); return getReorderedIndex(origOrder, newOrder, zSize, cSize, tSize, num, newIndex); }
/** * Converts index from the given dimension order to the reader's native one. * This method is useful for shuffling the planar order around * (rather than eassigning ZCT sizes as {@link DimensionSwapper} does). * * @throws FormatException Never actually thrown. */ public static int getReorderedIndex(IFormatReader reader, String newOrder, int newIndex) throws FormatException { String origOrder = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int num = reader.getImageCount(); return getReorderedIndex(origOrder, newOrder, zSize, cSize, tSize, num, newIndex); }
/** * Gets the Z, C, T, ModuloZ, ModuloC and ModuloZ coordinates * corresponding to the given rasterized index value (effective * sizes). Note that the Z, C and T coordinates are not the same as * those returned by getZCTCoords(IFormatReader, int) because the * size of the modulo dimensions is taken into account. The * effective size for each of these dimensions is limited to the * total size of the dimension divided by the modulo size. */ public static int[] getZCTModuloCoords(IFormatReader reader, int index) { String order = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int moduloZSize = reader.getModuloZ().length(); int moduloCSize = reader.getModuloC().length(); int moduloTSize = reader.getModuloT().length(); int num = reader.getImageCount(); return getZCTCoords(order, zSize, cSize, tSize, moduloZSize, moduloCSize, moduloTSize, num, index); }
/** * Gets the Z, C, T, ModuloZ, ModuloC and ModuloZ coordinates * corresponding to the given rasterized index value (effective * sizes). Note that the Z, C and T coordinates are not the same as * those returned by getZCTCoords(IFormatReader, int) because the * size of the modulo dimensions is taken into account. The * effective size for each of these dimensions is limited to the * total size of the dimension divided by the modulo size. */ public static int[] getZCTModuloCoords(IFormatReader reader, int index) { String order = reader.getDimensionOrder(); int zSize = reader.getSizeZ(); int cSize = reader.getEffectiveSizeC(); int tSize = reader.getSizeT(); int moduloZSize = reader.getModuloZ().length(); int moduloCSize = reader.getModuloC().length(); int moduloTSize = reader.getModuloT().length(); int num = reader.getImageCount(); return getZCTCoords(order, zSize, cSize, tSize, moduloZSize, moduloCSize, moduloTSize, num, index); }
@Test public void setId() throws Exception { srcReader = new ImageReader(); checkReader = new ImageReader(); srcReader.setId(src); checkReader.setId(check); assertEquals(srcReader.getSeriesCount(), checkReader.getSeriesCount()); for (int s=0; s<srcReader.getSeriesCount(); s++) { srcReader.setSeries(s); checkReader.setSeries(s); assertEquals(srcReader.getSizeX(), checkReader.getSizeX()); assertEquals(srcReader.getSizeY(), checkReader.getSizeY()); assertEquals(srcReader.getSizeC(), checkReader.getSizeC()); assertEquals(srcReader.getSizeZ(), checkReader.getSizeZ()); assertEquals(srcReader.getSizeT(), checkReader.getSizeT()); assertEquals(srcReader.getPixelType(), checkReader.getPixelType()); assertEquals(srcReader.isRGB(), checkReader.isRGB()); assertEquals(srcReader.getDimensionOrder(), checkReader.getDimensionOrder()); // it's OK if the endian setting is different, so don't check that } }
public static void populatePixelsOnly(MetadataStore store, IFormatReader r) { int oldSeries = r.getSeries(); for (int i=0; i<r.getSeriesCount(); i++) { r.setSeries(i); String pixelType = FormatTools.getPixelTypeString(r.getPixelType()); populatePixelsOnly(store, i, r.isLittleEndian(), r.getDimensionOrder(), pixelType, r.getSizeX(), r.getSizeY(), r.getSizeZ(), r.getSizeC(), r.getSizeT(), r.getRGBChannelCount()); if (store instanceof IPyramidStore) { for (int res=1; res<r.getResolutionCount(); res++) { r.setResolution(res); ((IPyramidStore) store).setResolutionSizeX( new PositiveInteger(r.getSizeX()), i, res); ((IPyramidStore) store).setResolutionSizeY( new PositiveInteger(r.getSizeY()), i, res); } r.setResolution(0); } } r.setSeries(oldSeries); }
public static void populatePixelsOnly(MetadataStore store, IFormatReader r) { int oldSeries = r.getSeries(); for (int i=0; i<r.getSeriesCount(); i++) { r.setSeries(i); String pixelType = FormatTools.getPixelTypeString(r.getPixelType()); populatePixelsOnly(store, i, r.isLittleEndian(), r.getDimensionOrder(), pixelType, r.getSizeX(), r.getSizeY(), r.getSizeZ(), r.getSizeC(), r.getSizeT(), r.getRGBChannelCount()); if (store instanceof IPyramidStore) { for (int res=1; res<r.getResolutionCount(); res++) { r.setResolution(res); ((IPyramidStore) store).setResolutionSizeX( new PositiveInteger(r.getSizeX()), i, res); ((IPyramidStore) store).setResolutionSizeY( new PositiveInteger(r.getSizeY()), i, res); } r.setResolution(0); } } r.setSeries(oldSeries); }
@Test(dataProvider = "wrappers") public void testCoreMetadata(IFormatReader reader) { assertNotNull(reader.getCurrentFile()); List<CoreMetadata> coreList = reader.getCoreMetadataList(); assertEquals(coreList.size(), reader.getSeriesCount()); for (int i=0; i<reader.getSeriesCount(); i++) { CoreMetadata core = coreList.get(i); reader.setSeries(i); assertEquals(core.sizeX, reader.getSizeX()); assertEquals(core.sizeY, reader.getSizeY()); assertEquals(core.sizeZ, reader.getSizeZ()); assertEquals(core.sizeC, reader.getSizeC()); assertEquals(core.sizeT, reader.getSizeT()); assertEquals(core.pixelType, reader.getPixelType()); assertEquals(core.imageCount, reader.getImageCount()); assertEquals(core.dimensionOrder, reader.getDimensionOrder()); assertEquals(core.littleEndian, reader.isLittleEndian()); assertEquals(core.rgb, reader.isRGB()); assertEquals(core.interleaved, reader.isInterleaved()); assertEquals(core.indexed, reader.isIndexed()); } } }