private void pruneINI() { IniList newIni = new IniList(); for (IniTable table : ini) { String tableName = table.get(IniTable.HEADER_KEY); Location file = new Location(dataFile); if (tableName.startsWith(file.getName() + " ")) { newIni.add(table); if (tableName.endsWith("global")) { globalTable = table; } } } ini = newIni; } }
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")); HashMap<String, String> iniMap = ini.flattenIntoHashMap(); metadata.putAll(iniMap);
@Override public boolean equals(Object o) { if (!(o instanceof Configuration)) return false; Configuration thatConfig = (Configuration) o; return this.getINI().equals(thatConfig.getINI()); }
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); } }
@Override public int hashCode() { return this.getINI().hashCode(); }
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")); } }
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")); HashMap<String, String> iniMap = ini.flattenIntoHashMap(); metadata.putAll(iniMap);
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")); } }
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"));
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 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"));
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 saveInfo = f.getTable("ProfileSaveInfo"); String[] saveKeys = saveInfo.keySet().toArray(new String[saveInfo.size()]); for (String key : saveKeys) { IniTable commonParams = f.getTable("Axis " + i + " Parameters Common"); code[i] = commonParams.get("AxisCode"); size[i] = commonParams.get("MaxSize"); IniTable referenceParams = f.getTable("Reference Image Parameter"); imageDepth = Integer.parseInt(referenceParams.get("ImageDepth")); pixelSizeX = referenceParams.get("WidthConvertValue"); IniTable laser = f.getTable("Laser " + index + " Parameters"); while (laser != null) { laserEnabled = laser.get("Laser Enable").equals("1"); laser = f.getTable("Laser " + index + " Parameters"); IniTable guiChannel = f.getTable("GUI Channel " + index + " Parameters"); while (guiChannel != null) { ChannelData channel = new ChannelData(); channels.add(channel); index++; guiChannel = f.getTable("GUI Channel " + index + " Parameters"); IniTable channel = f.getTable("Channel " + index + " Parameters"); while (channel != null) { String illumination = channel.get("LightType");
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 saveInfo = f.getTable("ProfileSaveInfo"); String[] saveKeys = saveInfo.keySet().toArray(new String[saveInfo.size()]); for (String key : saveKeys) { IniTable commonParams = f.getTable("Axis " + i + " Parameters Common"); code[i] = commonParams.get("AxisCode"); size[i] = commonParams.get("MaxSize"); IniTable referenceParams = f.getTable("Reference Image Parameter"); imageDepth = Integer.parseInt(referenceParams.get("ImageDepth")); pixelSizeX = referenceParams.get("WidthConvertValue"); IniTable laser = f.getTable("Laser " + index + " Parameters"); while (laser != null) { laserEnabled = laser.get("Laser Enable").equals("1"); laser = f.getTable("Laser " + index + " Parameters"); IniTable guiChannel = f.getTable("GUI Channel " + index + " Parameters"); while (guiChannel != null) { ChannelData channel = new ChannelData(); channels.add(channel); index++; guiChannel = f.getTable("GUI Channel " + index + " Parameters"); IniTable channel = f.getTable("Channel " + index + " Parameters"); while (channel != null) { String illumination = channel.get("LightType");
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"));
IniList data = parser.parseINI(reader); reader.close(); IniTable infoTable = data.getTable("Info"); HashMap<String, String> iniMap = data.flattenIntoHashMap(); ms.seriesMetadata.putAll(iniMap);