public void setResolution(int series, int resolution) throws IndexOutOfBoundsException { Location file = new Location(dataFile); String tableName = file.getName() + SERIES + series + " " + RESOLUTION + resolution; currentTable = ini.getTable(tableName); if (currentTable == null && resolution == 0) { // don't require the resolution key for single-resolution series currentTable = ini.getTable(file.getName() + SERIES + series); } if (currentTable == null) { throw new IndexOutOfBoundsException("Invalid table name: " + tableName); } }
private void parseChannelData(Location dir) throws IOException { emWave = new double[channelNames.size()]; exWave = new double[channelNames.size()]; exposure = new double[channelNames.size()]; gain = new double[channelNames.size()]; offset = new double[channelNames.size()]; for (int c=0; c<channelNames.size(); c++) { Location dyeFile = new Location(dir, channelNames.get(c) + ".dye"); IniList dye = null; try (RandomAccessInputStream stream = new RandomAccessInputStream(dyeFile.getAbsolutePath()); InputStreamReader isr = new InputStreamReader(stream, Constants.ENCODING); BufferedReader br = new BufferedReader(isr)) { dye = new IniParser().parseINI(br); } IniTable numerator = dye.getTable("Numerator"); String em = numerator.get("Emission"); em = em.substring(0, em.indexOf(' ')); emWave[c] = Double.parseDouble(em); String ex = numerator.get("Excitation"); ex = ex.substring(0, ex.lastIndexOf(" ")); if (ex.indexOf(' ') != -1) { ex = ex.substring(ex.lastIndexOf(" ") + 1); } exWave[c] = Double.parseDouble(ex); exposure[c] = Double.parseDouble(numerator.get("Exposure")); gain[c] = Double.parseDouble(numerator.get("Gain")); offset[c] = Double.parseDouble(numerator.get("Offset")); } }
private void parseChannelData(Location dir) throws IOException { emWave = new double[channelNames.size()]; exWave = new double[channelNames.size()]; exposure = new double[channelNames.size()]; gain = new double[channelNames.size()]; offset = new double[channelNames.size()]; for (int c=0; c<channelNames.size(); c++) { Location dyeFile = new Location(dir, channelNames.get(c) + ".dye"); IniList dye = null; try (RandomAccessInputStream stream = new RandomAccessInputStream(dyeFile.getAbsolutePath()); InputStreamReader isr = new InputStreamReader(stream, Constants.ENCODING); BufferedReader br = new BufferedReader(isr)) { dye = new IniParser().parseINI(br); } IniTable numerator = dye.getTable("Numerator"); String em = numerator.get("Emission"); em = em.substring(0, em.indexOf(' ')); emWave[c] = Double.parseDouble(em); String ex = numerator.get("Excitation"); ex = ex.substring(0, ex.lastIndexOf(" ")); if (ex.indexOf(' ') != -1) { ex = ex.substring(ex.lastIndexOf(" ") + 1); } exWave[c] = Double.parseDouble(ex); exposure[c] = Double.parseDouble(numerator.get("Exposure")); gain[c] = Double.parseDouble(numerator.get("Gain")); offset[c] = Double.parseDouble(numerator.get("Offset")); } }
stampValues = new HashMap<Integer, String>(); IniTable layoutTable = ini.getTable(LAYOUT_TABLE); datatype = layoutTable.get(DATATYPE_KEY); channels = layoutTable.get(C_KEY); timestamps = layoutTable.get(T_KEY); IniTable backgroundTable = ini.getTable(BACKGROUND_TABLE); if (backgroundTable != null) { backgroundDatatype = backgroundTable.get(DATATYPE_KEY); IniTable infoTable = ini.getTable(INFO_TABLE); version = infoTable.get(VERSION_KEY); compression = infoTable.get(COMPRESSION_KEY);
stampValues = new HashMap<Integer, String>(); IniTable layoutTable = ini.getTable(LAYOUT_TABLE); datatype = layoutTable.get(DATATYPE_KEY); channels = layoutTable.get(C_KEY); timestamps = layoutTable.get(T_KEY); IniTable backgroundTable = ini.getTable(BACKGROUND_TABLE); if (backgroundTable != null) { backgroundDatatype = backgroundTable.get(DATATYPE_KEY); IniTable infoTable = ini.getTable(INFO_TABLE); version = infoTable.get(VERSION_KEY); compression = infoTable.get(COMPRESSION_KEY);
IniTable microscopeTable = ini.getTable(" MICROSCOPE "); if (microscopeTable != null) { String objective = microscopeTable.get("Objective"); IniTable cameraTable = ini.getTable(" CAPTURE DEVICE "); binning = cameraTable.get("Binning") + "x" + cameraTable.get("Binning"); cameraType = cameraTable.get("Camera Type"); IniTable captureTable = ini.getTable(" CAPTURE "); if (captureTable != null) { int index = 1; IniTable calibrationTable = ini.getTable(" CALIBRATION "); String units = calibrationTable.get("units"); scaling = Double.parseDouble(calibrationTable.get("factor"));
IniTable microscopeTable = ini.getTable(" MICROSCOPE "); if (microscopeTable != null) { String objective = microscopeTable.get("Objective"); IniTable cameraTable = ini.getTable(" CAPTURE DEVICE "); binning = cameraTable.get("Binning") + "x" + cameraTable.get("Binning"); cameraType = cameraTable.get("Camera Type"); IniTable captureTable = ini.getTable(" CAPTURE "); if (captureTable != null) { int index = 1; IniTable calibrationTable = ini.getTable(" CALIBRATION "); String units = calibrationTable.get("units"); scaling = Double.parseDouble(calibrationTable.get("factor"));
IniTable plateType = plate.getTable("PlateType"); exp = parser.parseINI(br); IniTable imageTable = exp.getTable("Image"); boolean montage = imageTable.get("Montaged").equals("1"); if (montage) { ms0.sizeC = Integer.parseInt(exp.getTable("General").get("Dyes")); ms0.bitsPerPixel = Integer.parseInt(exp.getTable("Camera").get("BitdepthUsed")); IniTable dyeTable = exp.getTable("Dyes"); for (int i=1; i<=getSizeC(); i++) { channelNames.add(dyeTable.get(Integer.toString(i))); IniTable zTable = xyz.getTable("Z1Axis"); boolean zEnabled = "1".equals(zTable.get("Z1AxisEnabled")) && "1".equals(zTable.get("Z1AxisMode"));
IniTable plateType = plate.getTable("PlateType"); exp = parser.parseINI(br); IniTable imageTable = exp.getTable("Image"); boolean montage = imageTable.get("Montaged").equals("1"); if (montage) { ms0.sizeC = Integer.parseInt(exp.getTable("General").get("Dyes")); ms0.bitsPerPixel = Integer.parseInt(exp.getTable("Camera").get("BitdepthUsed")); IniTable dyeTable = exp.getTable("Dyes"); for (int i=1; i<=getSizeC(); i++) { channelNames.add(dyeTable.get(Integer.toString(i))); IniTable zTable = xyz.getTable("Z1Axis"); boolean zEnabled = "1".equals(zTable.get("Z1AxisEnabled")) && "1".equals(zTable.get("Z1AxisMode"));
IniTable userTable = ini.getTable("User"); date = userTable.get("Date") + " " + userTable.get("Time"); IniTable systemTable = ini.getTable("System"); if (systemTable == null) { systemTable = ini.getTable("SYSTEM"); IniTable beamTable = ini.getTable("Beam"); if (beamTable != null) { String beamTableName = beamTable.get("Beam"); if (beamTableName != null) { beamTable = ini.getTable(beamTableName); String beamY = beamTable.get("StageY"); String beamZ = beamTable.get("StageZ"); IniTable stageTable = ini.getTable("Stage"); IniTable scanTable = ini.getTable("Scan"); IniTable dataTable = ini.getTable("DatabarData"); imageName = dataTable.get("ImageName"); imageDescription = dataTable.get("szUserText"); String magnification = ini.getTable("Vector").get("Magnification"); sizeX = new Double(magnification) * MAG_MULTIPLIER; sizeY = new Double(magnification) * MAG_MULTIPLIER; IniTable scanTable = ini.getTable("Vector.Sysscan"); final Double posX = Double.valueOf(scanTable.get("PositionX"));
IniTable userTable = ini.getTable("User"); date = userTable.get("Date") + " " + userTable.get("Time"); IniTable systemTable = ini.getTable("System"); if (systemTable == null) { systemTable = ini.getTable("SYSTEM"); IniTable beamTable = ini.getTable("Beam"); if (beamTable != null) { String beamTableName = beamTable.get("Beam"); if (beamTableName != null) { beamTable = ini.getTable(beamTableName); String beamY = beamTable.get("StageY"); String beamZ = beamTable.get("StageZ"); IniTable stageTable = ini.getTable("Stage"); IniTable scanTable = ini.getTable("Scan"); IniTable dataTable = ini.getTable("DatabarData"); imageName = dataTable.get("ImageName"); imageDescription = dataTable.get("szUserText"); String magnification = ini.getTable("Vector").get("Magnification"); sizeX = new Double(magnification) * MAG_MULTIPLIER; sizeY = new Double(magnification) * MAG_MULTIPLIER; IniTable scanTable = ini.getTable("Vector.Sysscan"); final Double posX = Double.valueOf(scanTable.get("PositionX"));
Location file = new Location(dataFile); String tableName = file.getName() + SERIES + index; currentTable = ini.getTable(tableName); if (currentTable == null) { throw new IndexOutOfBoundsException("Invalid table name: " + tableName);
IniList data = parser.parseINI(reader); reader.close(); IniTable infoTable = data.getTable("Info");
IniList ini = parser.parseINI(new BufferedReader(new StringReader(data))); IniTable image = ini.getTable("SemImageFile");
IniList ini = parser.parseINI(new BufferedReader(new StringReader(data))); IniTable image = ini.getTable("SemImageFile");
IniList layout = parser.parseINI(new BufferedReader( new InputStreamReader(in, Constants.ENCODING))); IniTable slideInfo = layout.getTable("Virtual Microscope Specimen");
IniList layout = parser.parseINI(new BufferedReader( new InputStreamReader(in, Constants.ENCODING))); IniTable slideInfo = layout.getTable("Virtual Microscope Specimen");
parser.parseINI(new BufferedReader(new StringReader(iniMetadata))); IniTable dimensions = ini.getTable("Dimension"); int z = Integer.parseInt(dimensions.get("Z")); int c = Integer.parseInt(dimensions.get("Band"));
parser.parseINI(new BufferedReader(new StringReader(iniMetadata))); IniTable dimensions = ini.getTable("Dimension"); int z = Integer.parseInt(dimensions.get("Z")); int c = Integer.parseInt(dimensions.get("Band"));