for (int i=0; i<patterns.length; i++) { try { ExternalSeries e = new ExternalSeries(new FilePattern(patterns[i])); validExternals.add(e); externals = new ExternalSeries[] {new ExternalSeries(new FilePattern(id))}; patterns = new String[] {id}; fp = new FilePattern(id); externals = new ExternalSeries[] {new ExternalSeries(fp)}; reader.setId(fp.getFiles()[0]); ms.imageCount = rr.getImageCount() * external.getFiles().length; ms.thumbSizeX = rr.getThumbSizeX(); ms.thumbSizeY = rr.getThumbSizeY(); AxisGuesser ag = externals[getExternalSeries()].getAxisGuesser(); core.get(i).dimensionOrder = ag.getAdjustedOrder(); core.get(i).orderCertain = ag.isCertain(); for (int i=0; i<getSeriesCount(); i++) { int index = getExternalSeries(i); String pattern = externals[index].getFilePattern().getPattern(); pattern = pattern.substring(pattern.lastIndexOf(File.separator) + 1); store.setImageName(pattern, i);
protected void initReader(int sno, int fno) { int external = getExternalSeries(sno); DimensionSwapper r = externals[external].getReader(fno); try { if (r.getCurrentFile() == null) { r.setGroupFiles(false); } r.setId(externals[external].getFiles()[fno]); r.setCoreIndex(reader.getCoreMetadataList().size() > 1 ? sno : 0); String newOrder = ((DimensionSwapper) reader).getInputOrder(); if ((externals[external].getFiles().length > 1 || !r.isOrderCertain()) && (r.getRGBChannelCount() == 1 || newOrder.indexOf('C') == r.getDimensionOrder().indexOf('C'))) { r.swapDimensions(newOrder); } r.setOutputOrder(newOrder); } catch (FormatException e) { LOGGER.debug("", e); } catch (IOException e) { LOGGER.debug("", e); } }
String[] f = s.getFiles(); for (String file : f) { String path = new Location(file).getAbsolutePath(); DimensionSwapper[] readers = s.getReaders(); for (int i=0; i<readers.length; i++) { try {
for (int i=0; i<patterns.length; i++) { try { ExternalSeries e = new ExternalSeries(new FilePattern(patterns[i])); validExternals.add(e); externals = new ExternalSeries[] {new ExternalSeries(new FilePattern(id))}; patterns = new String[] {id}; fp = new FilePattern(id); externals = new ExternalSeries[] {new ExternalSeries(fp)}; reader.setId(fp.getFiles()[0]); ms.imageCount = rr.getImageCount() * external.getFiles().length; ms.thumbSizeX = rr.getThumbSizeX(); ms.thumbSizeY = rr.getThumbSizeY(); AxisGuesser ag = externals[getExternalSeries()].getAxisGuesser(); core.get(i).dimensionOrder = ag.getAdjustedOrder(); core.get(i).orderCertain = ag.isCertain(); for (int i=0; i<getSeriesCount(); i++) { int index = getExternalSeries(i); String pattern = externals[index].getFilePattern().getPattern(); pattern = pattern.substring(pattern.lastIndexOf(File.separator) + 1); store.setImageName(pattern, i);
CoreMetadata ms = core.get(sno); ExternalSeries s = externals[getExternalSeries()]; FilePattern p = s.getFilePattern(); AxisGuesser ag = s.getAxisGuesser(); int[] axes = ag.getAxisTypes(); int numT = ag.getAxisCountT(); if (axes.length == 0 && s.getFiles().length > 1) { axes = new int[] {AxisGuesser.T_AXIS}; count = new int[] {s.getFiles().length}; numT++;
CoreMetadata ms = core.get(sno); ExternalSeries s = externals[getExternalSeries()]; FilePattern p = s.getFilePattern(); AxisGuesser ag = s.getAxisGuesser(); int[] axes = ag.getAxisTypes(); int numT = ag.getAxisCountT(); if (axes.length == 0 && s.getFiles().length > 1) { axes = new int[] {AxisGuesser.T_AXIS}; count = new int[] {s.getFiles().length}; numT++;
ExternalSeries s = externals[getExternalSeries()]; int[] axes = s.getAxisGuesser().getAxisTypes(); int[] count = s.getFilePattern().getCount(); count = new int[] {s.getFiles().length};
ExternalSeries s = externals[getExternalSeries()]; int[] axes = s.getAxisGuesser().getAxisTypes(); int[] count = s.getFilePattern().getCount(); count = new int[] {s.getFiles().length};
String[] f = s.getFiles(); for (String file : f) { String path = new Location(file).getAbsolutePath(); DimensionSwapper[] readers = s.getReaders(); for (int i=0; i<readers.length; i++) { try {
@Override public void close(boolean fileOnly) throws IOException { super.close(fileOnly); if (externals != null) { for (ExternalSeries s : externals) { if (s != null && s.getReaders() != null) { for (DimensionSwapper r : s.getReaders()) { if (r != null) r.close(fileOnly); } } } } if (!fileOnly) { noStitch = false; externals = null; sizeZ = sizeC = sizeT = null; lenZ = lenC = lenT = null; core.clear(); coreIndex = 0; series = 0; store = null; } }
protected void initReader(int sno, int fno) { int external = getExternalSeries(sno); DimensionSwapper r = externals[external].getReader(fno); try { if (r.getCurrentFile() == null) { r.setGroupFiles(false); } r.setId(externals[external].getFiles()[fno]); r.setCoreIndex(reader.getCoreMetadataList().size() > 1 ? sno : 0); String newOrder = ((DimensionSwapper) reader).getInputOrder(); if ((externals[external].getFiles().length > 1 || !r.isOrderCertain()) && (r.getRGBChannelCount() == 1 || newOrder.indexOf('C') == r.getDimensionOrder().indexOf('C'))) { r.swapDimensions(newOrder); } r.setOutputOrder(newOrder); } catch (FormatException e) { LOGGER.debug("", e); } catch (IOException e) { LOGGER.debug("", e); } }
@Override public void close(boolean fileOnly) throws IOException { super.close(fileOnly); if (externals != null) { for (ExternalSeries s : externals) { if (s != null && s.getReaders() != null) { for (DimensionSwapper r : s.getReaders()) { if (r != null) r.close(fileOnly); } } } } if (!fileOnly) { noStitch = false; externals = null; sizeZ = sizeC = sizeT = null; lenZ = lenC = lenT = null; core.clear(); coreIndex = 0; series = 0; store = null; } }
/** * Gets the axis type for each dimensional block. * @return An array containing values from the enumeration: * <ul> * <li>AxisGuesser.Z_AXIS: focal planes</li> * <li>AxisGuesser.T_AXIS: time points</li> * <li>AxisGuesser.C_AXIS: channels</li> * <li>AxisGuesser.S_AXIS: series</li> * </ul> */ public int[] getAxisTypes() { FormatTools.assertId(getCurrentFile(), true, 2); return externals[getExternalSeries()].getAxisGuesser().getAxisTypes(); }
/** * Sets the axis type for each dimensional block. * @param axes An array containing values from the enumeration: * <ul> * <li>AxisGuesser.Z_AXIS: focal planes</li> * <li>AxisGuesser.T_AXIS: time points</li> * <li>AxisGuesser.C_AXIS: channels</li> * <li>AxisGuesser.S_AXIS: series</li> * </ul> */ public void setAxisTypes(int[] axes) throws FormatException { FormatTools.assertId(getCurrentFile(), true, 2); externals[getExternalSeries()].getAxisGuesser().setAxisTypes(axes); computeAxisLengths(); }
/** * Sets the axis type for each dimensional block. * @param axes An array containing values from the enumeration: * <ul> * <li>AxisGuesser.Z_AXIS: focal planes</li> * <li>AxisGuesser.T_AXIS: time points</li> * <li>AxisGuesser.C_AXIS: channels</li> * <li>AxisGuesser.S_AXIS: series</li> * </ul> */ public void setAxisTypes(int[] axes) throws FormatException { FormatTools.assertId(getCurrentFile(), true, 2); externals[getExternalSeries()].getAxisGuesser().setAxisTypes(axes); computeAxisLengths(); }
@Override public IFormatReader[] getUnderlyingReaders() { if (null == externals) { return super.getUnderlyingReaders(); } List<IFormatReader> list = new ArrayList<IFormatReader>(); for (ExternalSeries s : externals) { for (DimensionSwapper r : s.getReaders()) { list.add(r); } } return list.toArray(new IFormatReader[0]); }
/** * Gets the axis type for each dimensional block. * @return An array containing values from the enumeration: * <ul> * <li>AxisGuesser.Z_AXIS: focal planes</li> * <li>AxisGuesser.T_AXIS: time points</li> * <li>AxisGuesser.C_AXIS: channels</li> * <li>AxisGuesser.S_AXIS: series</li> * </ul> */ public int[] getAxisTypes() { FormatTools.assertId(getCurrentFile(), true, 2); return externals[getExternalSeries()].getAxisGuesser().getAxisTypes(); }
/** * Gets the axis guesser object used to guess * which dimensional axes are which. */ public AxisGuesser getAxisGuesser() { FormatTools.assertId(getCurrentFile(), true, 2); return externals[getExternalSeries()].getAxisGuesser(); }
@Override public void reopenFile() throws IOException { reader.reopenFile(); for (ExternalSeries s : externals) { for (DimensionSwapper r : s.getReaders()) { if (r.getCurrentFile() != null) { r.reopenFile(); } } } }
@Override public void setOriginalMetadataPopulated(boolean populate) { FormatTools.assertId(getCurrentFile(), false, 1); if (externals == null) reader.setOriginalMetadataPopulated(populate); else { for (ExternalSeries s : externals) { for (DimensionSwapper r : s.getReaders()) { r.setOriginalMetadataPopulated(populate); } } } }