use of ome.xml.model.enums.Correction in project bioformats by openmicroscopy.
the class LeicaReader method parseInstrumentData.
private void parseInstrumentData(MetadataStore store, int blockNum) throws FormatException, IOException {
int series = getSeries();
// read 24 byte SAFEARRAY
in.skipBytes(4);
int cbElements = in.readInt();
in.skipBytes(8);
int nElements = in.readInt();
in.skipBytes(4);
long initialOffset = in.getFilePointer();
long elementOffset = 0;
LOGGER.trace("Element LOOP; series {} at offset {}", series, initialOffset);
for (int j = 0; j < nElements; j++) {
elementOffset = initialOffset + j * cbElements;
LOGGER.trace("Seeking to: {}", elementOffset);
in.seek(elementOffset);
String contentID = getString(128);
LOGGER.trace("contentID: {}", contentID);
String description = getString(64);
LOGGER.trace("description: {}", description);
String data = getString(64);
int dataType = in.readShort();
LOGGER.trace("dataType: {}", dataType);
in.skipBytes(6);
// read data
switch(dataType) {
case 2:
data = String.valueOf(in.readShort());
break;
case 3:
data = String.valueOf(in.readInt());
break;
case 4:
data = String.valueOf(in.readFloat());
break;
case 5:
data = String.valueOf(in.readDouble());
break;
case 7:
case 11:
data = in.read() == 0 ? "false" : "true";
break;
case 17:
data = in.readString(1);
break;
}
LOGGER.trace("data: {}", data);
if (data.trim().length() == 0) {
LOGGER.trace("Zero length dat string, continuing...");
continue;
}
String[] tokens = contentID.split("\\|");
LOGGER.trace("Parsing tokens: {}", tokens);
if (tokens[0].startsWith("CDetectionUnit")) {
if (tokens[1].startsWith("PMT")) {
// detector information
Detector detector = new Detector();
int lastDetector = detectors.size() - 1;
if (detectors.size() > 0 && detectors.get(lastDetector).id == Integer.parseInt(tokens[3])) {
detector = detectors.get(lastDetector);
} else {
detectors.add(detector);
}
detector.id = Integer.parseInt(tokens[3]);
detector.name = tokens[1];
try {
if (tokens[2].equals("VideoOffset")) {
detector.offset = new Double(data);
} else if (tokens[2].equals("HighVoltage")) {
detector.voltage = new Double(data);
} else if (tokens[2].equals("State")) {
detector.active = data.equals("Active");
String index = tokens[1].substring(tokens[1].indexOf(' ') + 1);
detector.index = -1;
try {
detector.index = Integer.parseInt(index) - 1;
} catch (NumberFormatException e) {
}
if (detector.active && detector.index >= 0) {
activeChannelIndices.add(detector.index);
}
}
} catch (NumberFormatException e) {
LOGGER.debug("Failed to parse detector metadata", e);
}
}
} else if (tokens[0].startsWith("CTurret")) {
// objective information
int objective = Integer.parseInt(tokens[3]);
if (tokens[2].equals("NumericalAperture")) {
store.setObjectiveLensNA(new Double(data), series, objective);
} else if (tokens[2].equals("Objective")) {
String[] objectiveData = data.split(" ");
final StringBuilder model = new StringBuilder();
String mag = null, na = null;
String immersion = null, correction = null;
for (int i = 0; i < objectiveData.length; i++) {
if (objectiveData[i].indexOf('x') != -1 && mag == null && na == null) {
int xIndex = objectiveData[i].indexOf('x');
mag = objectiveData[i].substring(0, xIndex).trim();
na = objectiveData[i].substring(xIndex + 1).trim();
} else if (mag == null && na == null) {
model.append(objectiveData[i]);
model.append(" ");
} else if (correction == null) {
correction = objectiveData[i];
} else if (immersion == null) {
immersion = objectiveData[i];
}
}
if (immersion != null)
immersion = immersion.trim();
if (correction != null)
correction = correction.trim();
Correction realCorrection = getCorrection(correction);
Correction testCorrection = getCorrection(immersion);
Immersion realImmersion = getImmersion(immersion);
Immersion testImmersion = getImmersion(correction);
// Correction and Immersion are reversed
if ((testCorrection != Correction.OTHER && realCorrection == Correction.OTHER) || (testImmersion != Immersion.OTHER && realImmersion == Immersion.OTHER)) {
String tmp = correction;
correction = immersion;
immersion = tmp;
}
store.setObjectiveImmersion(getImmersion(immersion), series, objective);
store.setObjectiveCorrection(getCorrection(correction), series, objective);
store.setObjectiveModel(model.toString().trim(), series, objective);
store.setObjectiveLensNA(new Double(na), series, objective);
Double magnification = Double.parseDouble(mag);
store.setObjectiveNominalMagnification(magnification, series, objective);
} else if (tokens[2].equals("OrderNumber")) {
store.setObjectiveSerialNumber(data, series, objective);
} else if (tokens[2].equals("RefractionIndex")) {
store.setObjectiveSettingsRefractiveIndex(new Double(data), series);
}
// link Objective to Image
String objectiveID = MetadataTools.createLSID("Objective", series, objective);
store.setObjectiveID(objectiveID, series, objective);
if (objective == 0) {
store.setObjectiveSettingsID(objectiveID, series);
}
} else if (tokens[0].startsWith("CSpectrophotometerUnit")) {
int ndx = tokens[1].lastIndexOf(" ");
int channel = Integer.parseInt(tokens[1].substring(ndx + 1)) - 1;
if (tokens[2].equals("Wavelength")) {
Double wavelength = Double.parseDouble(data);
store.setFilterModel(tokens[1], series, channel);
String filterID = MetadataTools.createLSID("Filter", series, channel);
store.setFilterID(filterID, series, channel);
int index = activeChannelIndices.indexOf(channel);
if (index >= 0 && index < getEffectiveSizeC()) {
if (!filterRefPopulated[series][index]) {
store.setLightPathEmissionFilterRef(filterID, series, index, 0);
filterRefPopulated[series][index] = true;
}
if (tokens[3].equals("0") && !cutInPopulated[series][index]) {
Length cutIn = FormatTools.getCutIn(wavelength);
if (cutIn != null) {
store.setTransmittanceRangeCutIn(cutIn, series, channel);
}
cutInPopulated[series][index] = true;
} else if (tokens[3].equals("1") && !cutOutPopulated[series][index]) {
Length cutOut = FormatTools.getCutOut(wavelength);
if (cutOut != null) {
store.setTransmittanceRangeCutOut(cutOut, series, channel);
}
cutOutPopulated[series][index] = true;
}
}
} else if (tokens[2].equals("Stain")) {
if (activeChannelIndices.contains(channel)) {
int nNames = channelNames[series].size();
String prevValue = nNames == 0 ? "" : (String) channelNames[series].get(nNames - 1);
if (!prevValue.equals(data)) {
channelNames[series].add(data);
}
}
}
} else if (tokens[0].startsWith("CXYZStage")) {
CoreMetadata ms = core.get(series);
// NB: there is only one stage position specified for each series
if (tokens[2].equals("XPos")) {
for (int q = 0; q < ms.imageCount; q++) {
final Double number = Double.valueOf(data);
final Length length = new Length(number, UNITS.REFERENCEFRAME);
store.setPlanePositionX(length, series, q);
if (q == 0) {
addGlobalMetaList("X position for position", data);
}
}
} else if (tokens[2].equals("YPos")) {
for (int q = 0; q < ms.imageCount; q++) {
final Double number = Double.valueOf(data);
final Length length = new Length(number, UNITS.REFERENCEFRAME);
store.setPlanePositionY(length, series, q);
if (q == 0) {
addGlobalMetaList("Y position for position", data);
}
}
} else if (tokens[2].equals("ZPos")) {
final Double number = Double.valueOf(data);
final Length length = new Length(number, UNITS.REFERENCEFRAME);
store.setStageLabelName("Position", series);
store.setStageLabelZ(length, series);
addGlobalMetaList("Z position for position", data);
}
} else if (tokens[0].equals("CScanActuator") && tokens[1].equals("Z Scan Actuator") && tokens[2].equals("Position")) {
final double pos = Double.parseDouble(data) * 1000000;
store.setStageLabelName("Position", series);
store.setStageLabelZ(new Length(pos, UNITS.REFERENCEFRAME), series);
addGlobalMetaList("Z position for position", pos);
}
if (contentID.equals("dblVoxelX")) {
physicalSizes[series][0] = Double.parseDouble(data);
} else if (contentID.equals("dblVoxelY")) {
physicalSizes[series][1] = Double.parseDouble(data);
} else if (contentID.equals("dblStepSize")) {
double size = Double.parseDouble(data);
if (size > 0) {
physicalSizes[series][2] = size;
}
} else if (contentID.equals("dblPinhole")) {
// pinhole is stored in meters
pinhole[series] = Double.parseDouble(data) * 1000000;
} else if (contentID.startsWith("nDelayTime")) {
exposureTime[series] = Double.parseDouble(data);
if (contentID.endsWith("_ms")) {
exposureTime[series] /= 1000;
}
}
addSeriesMeta("Block " + blockNum + " " + contentID, data);
}
for (Detector detector : detectors) {
// link Detector to Image, if the detector was actually used
if (detector.active) {
store.setDetectorOffset(detector.offset, series, nextDetector);
store.setDetectorVoltage(new ElectricPotential(detector.voltage, UNITS.VOLT), series, nextDetector);
store.setDetectorType(getDetectorType("PMT"), series, nextDetector);
String detectorID = MetadataTools.createLSID("Detector", series, nextDetector);
store.setDetectorID(detectorID, series, nextDetector);
if (nextDetector == 0) {
// overwritten
for (int c = 0; c < getEffectiveSizeC(); c++) {
store.setDetectorSettingsID(detectorID, series, c);
}
}
if (nextChannel < getEffectiveSizeC()) {
store.setDetectorSettingsID(detectorID, series, nextChannel);
if (nextChannel < channelNames[series].size()) {
String name = (String) channelNames[series].get(nextChannel);
if (name == null || name.trim().equals("") || name.equals("None")) {
channelNames[series].set(nextChannel, detector.name);
}
} else {
while (channelNames[series].size() < nextChannel) {
channelNames[series].add("");
}
channelNames[series].add(detector.name);
}
nextChannel++;
}
nextDetector++;
}
}
detectors.clear();
for (int i = 0; i < getSeriesCount(); i++) {
setSeries(i);
for (int channel = 0; channel < getEffectiveSizeC(); channel++) {
if (channel < channelNames[i].size()) {
String name = (String) channelNames[i].get(channel);
if (name != null && !name.trim().equals("") && !name.equals("None")) {
store.setChannelName(name, i, channel);
}
}
if (channel < emWaves[i].size()) {
Double wave = new Double(emWaves[i].get(channel).toString());
Length emission = FormatTools.getEmissionWavelength(wave);
if (emission != null) {
store.setChannelEmissionWavelength(emission, i, channel);
}
}
if (channel < exWaves[i].size()) {
Double wave = new Double(exWaves[i].get(channel).toString());
Length ex = FormatTools.getExcitationWavelength(wave);
if (ex != null) {
store.setChannelExcitationWavelength(ex, i, channel);
}
}
if (i < pinhole.length) {
store.setChannelPinholeSize(new Length(pinhole[i], UNITS.MICROMETER), i, channel);
}
if (channel < channelColor[i].length) {
store.setChannelColor(channelColor[i][channel], i, channel);
}
}
}
setSeries(0);
}
use of ome.xml.model.enums.Correction in project bioformats by openmicroscopy.
the class DeltavisionReader method populateObjective.
/**
* Populate an Objective based upon the lens ID.
* This is based upon information received from Applied Precision.
*/
private void populateObjective(MetadataStore store, int lensID) throws FormatException {
Double lensNA = null;
Double workingDistance = null;
Immersion immersion = getImmersion("Other");
Correction correction = getCorrection("Other");
String manufacturer = null;
String model = null;
double magnification = 0;
Double calibratedMagnification = null;
if (lensID >= 10000 && lensID <= 32000) {
if (lensID < 12000) {
manufacturer = "Olympus";
} else if (lensID < 14000) {
manufacturer = "Nikon";
} else if (lensID < 16000) {
manufacturer = "Zeiss";
} else if (lensID < 18000) {
manufacturer = "Leica";
} else if (lensID < 20000) {
manufacturer = "APLLC";
}
magnification = ((lensID % 1000) - (lensID % 100)) / 10.0;
if (magnification == 0) {
magnification = 100;
}
}
switch(lensID) {
case 2001:
lensNA = 1.15;
immersion = getImmersion("Water");
break;
case 10100:
lensNA = 0.30;
immersion = getImmersion("Air");
model = "1-LP134";
correction = getCorrection("Achromat");
break;
case 10101:
lensNA = 0.40;
immersion = getImmersion("Air");
model = "1-LB331";
correction = getCorrection("Apo");
break;
case 10102:
lensNA = 0.30;
immersion = getImmersion("Air");
model = "1-LP134";
break;
case 10103:
lensNA = 0.13;
calibratedMagnification = 4.0;
immersion = getImmersion("Air");
model = "1-LP124";
break;
case 10104:
lensNA = 0.40;
immersion = getImmersion("Air");
model = "1-LB331";
break;
case 10105:
lensNA = 0.40;
workingDistance = 3.10;
immersion = getImmersion("Air");
model = "1-LP331";
break;
case 10106:
lensNA = 0.16;
calibratedMagnification = 4.0;
workingDistance = 13.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "1-UB822";
break;
case 10107:
lensNA = 0.40;
immersion = getImmersion("Air");
workingDistance = 3.10;
model = "1-UB823";
correction = getCorrection("PlanApo");
break;
case 10108:
lensNA = 0.25;
workingDistance = 9.8;
immersion = getImmersion("Air");
model = "1-UC243";
break;
case 10109:
lensNA = 0.30;
immersion = getImmersion("Air");
model = "1-UB532";
correction = getCorrection("PlanFluor");
break;
case 10110:
lensNA = 0.13;
calibratedMagnification = 4.0;
immersion = getImmersion("Air");
break;
case 10111:
lensNA = 0.08;
calibratedMagnification = 2.0;
immersion = getImmersion("Air");
break;
case 10112:
lensNA = 0.13;
calibratedMagnification = 4.0;
immersion = getImmersion("Air");
model = "1-UB522";
break;
case 10113:
lensNA = 0.04;
calibratedMagnification = 1.25;
workingDistance = 5.1;
immersion = getImmersion("Air");
model = "1-UB920";
correction = getCorrection("PlanApo");
break;
case 10114:
lensNA = 0.08;
calibratedMagnification = 2.0;
workingDistance = 6.0;
immersion = getImmersion("Air");
model = "1-UB921";
correction = getCorrection("PlanApo");
break;
case 10200:
lensNA = 0.40;
workingDistance = 3.0;
immersion = getImmersion("Air");
break;
case 10201:
lensNA = 0.65;
workingDistance = 1.03;
immersion = getImmersion("Air");
model = "1-LB343";
correction = getCorrection("Apo");
break;
case 10202:
lensNA = 0.40;
immersion = getImmersion("Air");
model = "1-LP146";
break;
case 10203:
lensNA = 0.80;
immersion = getImmersion("Oil");
model = "1-LB342";
correction = getCorrection("PlanApo");
break;
case 10204:
lensNA = 0.70;
immersion = getImmersion("Air");
model = "1-LB341";
break;
case 10205:
lensNA = 0.75;
workingDistance = 0.55;
immersion = getImmersion("Air");
model = "1-UB765";
correction = getCorrection("Apo");
break;
case 10206:
lensNA = 0.50;
workingDistance = 0.55;
immersion = getImmersion("Air");
model = "1-UC525";
break;
case 10207:
lensNA = 0.40;
workingDistance = 3.0;
immersion = getImmersion("Air");
model = "1-UC145";
correction = getCorrection("Achromat");
break;
case 10208:
lensNA = 0.50;
workingDistance = 0.55;
immersion = getImmersion("Air");
model = "1-UB525";
break;
case 10209:
lensNA = 0.40;
workingDistance = 6.9;
immersion = getImmersion("Air");
model = "1-UC345";
break;
case 10210:
lensNA = 0.40;
workingDistance = 6.9;
immersion = getImmersion("Air");
model = "1-UB345";
break;
case 10400:
lensNA = 0.55;
workingDistance = 2.04;
immersion = getImmersion("Air");
break;
case 10401:
lensNA = 0.85;
workingDistance = 0.25;
immersion = getImmersion("Air");
break;
case 10402:
lensNA = 1.30;
workingDistance = 0.12;
immersion = getImmersion("Oil");
model = "1-LB356";
break;
case 10403:
lensNA = 1.35;
workingDistance = 0.10;
immersion = getImmersion("Oil");
model = "1-UB768";
break;
case 10404:
lensNA = 0.85;
workingDistance = 0.20;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "1-UB827";
break;
case 10405:
lensNA = 0.95;
workingDistance = 0.14;
immersion = getImmersion("Air");
model = "1-UB927";
correction = getCorrection("PlanApo");
break;
case 10406:
lensNA = 1.0;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "1-UB828";
break;
case 10407:
lensNA = 0.75;
correction = getCorrection("PlanFluor");
immersion = getImmersion("Air");
model = "1-UB527";
break;
case 10408:
lensNA = 0.60;
workingDistance = 2.15;
immersion = getImmersion("Air");
model = "1-UB347";
break;
case 10409:
lensNA = 0.60;
workingDistance = 2.15;
immersion = getImmersion("Air");
model = "1-UC347";
break;
case 10410:
lensNA = 1.15;
immersion = getImmersion("Water");
model = "1-UB769";
break;
case 10411:
lensNA = 0.75;
immersion = getImmersion("Air");
model = "1-UC527";
correction = getCorrection("PlanFluor");
break;
case 10412:
lensNA = 1.34;
workingDistance = 0.10;
immersion = getImmersion("Oil");
correction = getCorrection("Apo");
break;
case 10000:
lensNA = 1.30;
correction = getCorrection("Apo");
immersion = getImmersion("Oil");
model = "1-LB393";
break;
case 10001:
lensNA = 1.30;
immersion = getImmersion("Oil");
model = "1-LB392";
break;
case 10002:
lensNA = 1.40;
workingDistance = 0.10;
immersion = getImmersion("Oil");
model = "1-UB935";
correction = getCorrection("PlanApo");
break;
case 10003:
lensNA = 1.35;
workingDistance = 0.10;
immersion = getImmersion("Oil");
model = "1-UB836";
correction = getCorrection("PlanApo");
break;
case 10004:
lensNA = 1.30;
immersion = getImmersion("Oil");
model = "1-UB535";
break;
case 10005:
lensNA = 1.35;
workingDistance = 0.10;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
break;
case 10006:
lensNA = 1.40;
workingDistance = 0.10;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
break;
case 10007:
lensNA = 1.40;
workingDistance = 0.13;
immersion = getImmersion("Oil");
;
model = "1-U2B836";
break;
case 10600:
lensNA = 1.40;
workingDistance = 0.30;
immersion = getImmersion("Oil");
break;
case 10601:
lensNA = 1.40;
immersion = getImmersion("Oil");
model = "1-LB751";
break;
case 10602:
lensNA = 1.40;
workingDistance = 0.1;
immersion = getImmersion("Oil");
model = "1-UB932";
correction = getCorrection("PlanApo");
break;
case 10603:
lensNA = 1.20;
workingDistance = 0.25;
immersion = getImmersion("Water");
model = "1-UB891";
break;
case 10604:
lensNA = 1.20;
workingDistance = 0.25;
immersion = getImmersion("Water");
break;
case 10605:
lensNA = 0.70;
workingDistance = 1.10;
immersion = getImmersion("Air");
model = "1-UB351";
break;
case 10606:
lensNA = 0.70;
workingDistance = 1.10;
immersion = getImmersion("Air");
model = "1-UC351";
break;
case 10607:
lensNA = 1.40;
immersion = getImmersion("Oil");
model = "1-UC932";
correction = getCorrection("PlanApo");
break;
case 10608:
lensNA = 1.25;
immersion = getImmersion("Oil");
model = "1-UB532";
break;
case 10609:
lensNA = 1.40;
workingDistance = 0.15;
immersion = getImmersion("Oil");
model = "1-UB933";
correction = getCorrection("PlanApo");
break;
case 10610:
lensNA = 1.40;
workingDistance = 0.15;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
break;
case 10611:
lensNA = 1.20;
workingDistance = 0.25;
immersion = getImmersion("Water");
correction = getCorrection("PlanApo");
break;
case 10612:
lensNA = 1.42;
workingDistance = 0.15;
immersion = getImmersion("Oil");
model = "1-U2B933";
correction = getCorrection("PlanApo");
break;
case 12201:
lensNA = 0.75;
immersion = getImmersion("Air");
correction = getCorrection("PlanFluor");
model = "93146";
break;
case 12203:
lensNA = 0.45;
workingDistance = 8.1;
immersion = getImmersion("Air");
correction = getCorrection("PlanFluor");
model = "93150";
break;
case 12204:
lensNA = 0.45;
workingDistance = 4.50;
immersion = getImmersion("Air");
model = "MUE01200/92777";
break;
case 12205:
lensNA = 0.50;
workingDistance = 2.10;
immersion = getImmersion("Air");
correction = getCorrection("PlanFluor");
model = "MRH00200/93135";
break;
case 12401:
lensNA = 1.30;
workingDistance = 0.16;
immersion = getImmersion("Oil");
model = "85028";
break;
case 12402:
lensNA = 1.30;
workingDistance = 0.22;
immersion = getImmersion("Oil");
model = "85004";
break;
case 12403:
lensNA = 0.75;
immersion = getImmersion("Air");
model = "140508";
break;
case 12404:
lensNA = 1.30;
workingDistance = 0.22;
immersion = getImmersion("Oil");
break;
case 12405:
lensNA = 0.95;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "93105";
break;
case 12406:
lensNA = 1.00;
workingDistance = 0.16;
immersion = getImmersion("Oil");
model = "93106";
break;
case 12600:
lensNA = 1.40;
workingDistance = 0.17;
immersion = getImmersion("Oil");
model = "85020";
break;
case 12601:
lensNA = 1.40;
workingDistance = 0.21;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "93108";
break;
case 12602:
lensNA = 1.20;
workingDistance = 0.22;
immersion = getImmersion("Water");
correction = getCorrection("PlanApo");
model = "93109";
break;
case 12000:
lensNA = 1.40;
workingDistance = 0.1;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "85025";
break;
case 12001:
lensNA = 1.30;
workingDistance = 0.14;
immersion = getImmersion("Oil");
model = "85005";
break;
case 12002:
lensNA = 1.30;
workingDistance = 0.14;
immersion = getImmersion("Oil");
correction = getCorrection("UV");
model = "85005";
break;
case 12003:
lensNA = 1.40;
workingDistance = 0.13;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "93110";
break;
case 12004:
lensNA = 1.30;
workingDistance = 0.20;
immersion = getImmersion("Oil");
model = "93129";
break;
case 12101:
lensNA = 0.10;
calibratedMagnification = 2.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "202294";
break;
case 12102:
lensNA = 0.20;
calibratedMagnification = 4.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "108388";
break;
case 12103:
lensNA = 0.2;
calibratedMagnification = 4.0;
workingDistance = 15.7;
correction = getCorrection("PlanApo");
immersion = getImmersion("Air");
model = "93102";
break;
case 12104:
lensNA = 0.45;
workingDistance = 4.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "93103";
break;
case 12105:
lensNA = 0.30;
workingDistance = 16.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanFluor");
model = "93134";
break;
case 12106:
lensNA = 0.50;
workingDistance = 1.20;
immersion = getImmersion("Air");
correction = getCorrection("SuperFluor");
model = "93126";
break;
case 12107:
lensNA = 0.25;
workingDistance = 10.5;
immersion = getImmersion("Air");
model = "93183";
break;
case 12108:
lensNA = 0.25;
workingDistance = 6.10;
immersion = getImmersion("Air");
correction = getCorrection("Achromat");
model = "93161";
break;
case 14001:
lensNA = 1.40;
workingDistance = 0.1;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "44 07 08 (02)";
break;
case 14002:
lensNA = 1.30;
workingDistance = 0.1;
immersion = getImmersion("Oil");
model = "44 07 86";
break;
case 14003:
lensNA = 1.40;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "44 07 80 (02)";
break;
case 14004:
lensNA = 1.30;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "46 19 46 - 9903";
break;
case 14005:
lensNA = 1.40;
immersion = getImmersion("Oil");
model = "44 07 86 (02)";
break;
case 14006:
lensNA = 1.30;
immersion = getImmersion("Oil");
break;
case 14601:
lensNA = 1.40;
calibratedMagnification = 63.0;
workingDistance = 0.09;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "44 07 60 (03)";
break;
case 14602:
lensNA = 1.40;
calibratedMagnification = 63.0;
workingDistance = 0.09;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "44 07 62 (02)";
break;
case 14603:
lensNA = 0.90;
calibratedMagnification = 63.0;
immersion = getImmersion("Water");
model = "44 00 69";
break;
case 14604:
lensNA = 1.20;
workingDistance = 0.09;
calibratedMagnification = 63.0;
immersion = getImmersion("Water");
model = "44 06 68";
break;
case 14401:
lensNA = 1.30;
workingDistance = 0.14;
immersion = getImmersion("Oil");
correction = getCorrection("Fluar");
model = "44 02 55 (01)";
break;
case 14402:
lensNA = 1.00;
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
model = "44 07 51";
break;
case 14403:
lensNA = 1.20;
immersion = getImmersion("Water");
correction = getCorrection("Apo");
model = "44 00 52";
break;
case 14404:
lensNA = 0.75;
immersion = getImmersion("Air");
correction = getCorrection("PlanNeofluar");
model = "44 03 51";
break;
case 14405:
lensNA = 1.30;
workingDistance = 0.15;
immersion = getImmersion("Oil");
correction = getCorrection("PlanNeofluar");
model = "44 04 50";
break;
case 14406:
lensNA = 0.60;
immersion = getImmersion("Air");
model = "44 08 65";
break;
case 14407:
lensNA = 1.30;
immersion = getImmersion("Air");
correction = getCorrection("PlanNeofluar");
break;
case 14301:
lensNA = 0.80;
calibratedMagnification = 25.0;
workingDistance = 0.80;
correction = getCorrection("PlanNeofluar");
model = "44 05 44";
break;
case 14302:
lensNA = 0.80;
workingDistance = 0.80;
calibratedMagnification = 25.0;
correction = getCorrection("PlanNeofluar");
model = "44 05 42";
break;
case 14303:
lensNA = 0.80;
calibratedMagnification = 25.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanNeofluar");
model = "44 05 45";
break;
case 14201:
lensNA = 0.50;
immersion = getImmersion("Air");
correction = getCorrection("PlanNeofluar");
model = "44 03 41 (01)";
break;
case 14202:
lensNA = 0.60;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "44 06 40";
break;
case 14203:
lensNA = 0.75;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "44 06 49";
break;
case 14204:
lensNA = 0.75;
immersion = getImmersion("Air");
correction = getCorrection("Fluar");
model = "44 01 45";
break;
case 14101:
lensNA = 0.30;
immersion = getImmersion("Air");
correction = getCorrection("PlanNeofluar");
model = "44 03 30";
break;
case 14102:
lensNA = 0.25;
immersion = getImmersion("Air");
model = "44 01 31";
break;
case 14103:
lensNA = 0.25;
immersion = getImmersion("Air");
model = "44 00 31";
break;
case 14104:
lensNA = 0.45;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "44 06 39";
break;
case 14105:
lensNA = 0.16;
calibratedMagnification = 5.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
model = "44 06 20";
break;
case 18101:
lensNA = 0.20;
workingDistance = 3.33;
calibratedMagnification = 4.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
break;
case 18102:
lensNA = 0.20;
workingDistance = 2.883;
calibratedMagnification = 2.46;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
break;
case 18103:
lensNA = 0.20;
workingDistance = 2.883;
calibratedMagnification = 4.0;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
break;
case 18104:
lensNA = 0.45;
calibratedMagnification = 6.15;
workingDistance = 2.883;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
break;
case 18105:
lensNA = 0.45;
workingDistance = 2.883;
immersion = getImmersion("Air");
correction = getCorrection("PlanApo");
break;
case 18106:
lensNA = 0.1;
workingDistance = 24.00;
calibratedMagnification = 1.0;
immersion = getImmersion("Air");
break;
case 18201:
lensNA = 0.55;
workingDistance = 13.00;
immersion = getImmersion("Air");
break;
case 18202:
lensNA = 0.50;
workingDistance = 13.00;
immersion = getImmersion("Air");
break;
case 18204:
lensNA = 0.45;
workingDistance = 4.50;
immersion = getImmersion("Air");
model = "MUE01200/92777";
break;
case 18205:
lensNA = 0.50;
workingDistance = 2.10;
immersion = getImmersion("Air");
model = "MRH00200/93135";
break;
case 1:
lensNA = 0.25;
manufacturer = "Zeiss";
calibratedMagnification = 10.0;
immersion = getImmersion("Air");
break;
case 2:
lensNA = 0.50;
manufacturer = "Zeiss";
calibratedMagnification = 25.0;
immersion = getImmersion("Air");
break;
case 3:
lensNA = 1.00;
manufacturer = "Zeiss";
calibratedMagnification = 50.0;
immersion = getImmersion("Oil");
break;
case 4:
lensNA = 1.25;
manufacturer = "Zeiss";
calibratedMagnification = 63.0;
immersion = getImmersion("Oil");
break;
case 5:
lensNA = 1.30;
manufacturer = "Zeiss";
calibratedMagnification = 100.0;
immersion = getImmersion("Oil");
break;
case 6:
lensNA = 1.30;
calibratedMagnification = 100.0;
correction = getCorrection("Neofluor");
immersion = getImmersion("Oil");
break;
case 7:
lensNA = 1.40;
calibratedMagnification = 63.0;
manufacturer = "Leitz";
immersion = getImmersion("Oil");
correction = getCorrection("PlanApo");
break;
case 8:
lensNA = 1.20;
calibratedMagnification = 63.0;
immersion = getImmersion("Water");
break;
case 9:
lensNA = 0.40;
workingDistance = 0.30;
calibratedMagnification = 10.0;
manufacturer = "Olympus";
immersion = getImmersion("Air");
break;
case 10:
lensNA = 0.80;
workingDistance = 0.30;
manufacturer = "Olympus";
calibratedMagnification = 20.0;
immersion = getImmersion("Oil");
break;
case 11:
lensNA = 1.30;
calibratedMagnification = 40.0;
manufacturer = "Olympus";
workingDistance = 0.30;
immersion = getImmersion("Oil");
break;
case 12:
lensNA = 1.40;
workingDistance = 0.30;
manufacturer = "Olympus";
calibratedMagnification = 60.0;
immersion = getImmersion("Oil");
break;
case 13:
lensNA = 1.40;
workingDistance = 0.30;
manufacturer = "Nikon";
calibratedMagnification = 100.0;
immersion = getImmersion("Oil");
break;
}
String objectiveID = "Objective:" + lensID;
store.setObjectiveID(objectiveID, 0, 0);
for (int series = 0; series < getSeriesCount(); series++) {
store.setObjectiveSettingsID(objectiveID, series);
}
store.setObjectiveLensNA(lensNA, 0, 0);
store.setObjectiveImmersion(immersion, 0, 0);
store.setObjectiveCorrection(correction, 0, 0);
store.setObjectiveManufacturer(manufacturer, 0, 0);
store.setObjectiveModel(model, 0, 0);
store.setObjectiveNominalMagnification(magnification, 0, 0);
if (calibratedMagnification != null) {
store.setObjectiveCalibratedMagnification(calibratedMagnification, 0, 0);
}
if (workingDistance != null) {
store.setObjectiveWorkingDistance(new Length(workingDistance, UNITS.MILLIMETER), 0, 0);
}
}
Aggregations