Skip to content

Commit 02b3305

Browse files
authored
Merge pull request #3479 from carandraug/sync-softworx-dvlensestab
DeltavisionReader.java: synchronise objectives metadata with softWoRx 7.2.0
2 parents 76cc54d + 3675e3b commit 02b3305

File tree

2 files changed

+146
-32
lines changed

2 files changed

+146
-32
lines changed

components/formats-gpl/src/loci/formats/in/DeltavisionReader.java

Lines changed: 104 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1836,7 +1836,7 @@ else if (lensID < 20000) {
18361836
case 10211: // Olympus U-Plan S-Apo 20X/0.75
18371837
lensNA = 0.75;
18381838
magnification = 20.0;
1839-
workingDistance = 0.65;
1839+
workingDistance = 0.60;
18401840
immersion = MetadataTools.getImmersion("Air");
18411841
model = "1-U2B825";
18421842
break;
@@ -1990,6 +1990,14 @@ else if (lensID < 20000) {
19901990
immersion = MetadataTools.getImmersion("Oil");
19911991
model = "1-U2B530";
19921992
break;
1993+
case 10417: // Olympus 40X/1.25, UPLSAPO 40XS, Super Apochromat Silicone Oil
1994+
lensNA = 1.25;
1995+
magnification = 40.0;
1996+
workingDistance = 0.3;
1997+
immersion = MetadataTools.getImmersion("Other");
1998+
model = "";
1999+
correction = MetadataTools.getCorrection("Apo");
2000+
break;
19932001
case 10000: // Olympus 100X/1.30, DApo/340, IMT2
19942002
lensNA = 1.30;
19952003
magnification = 100.0;
@@ -2279,6 +2287,25 @@ else if (lensID < 20000) {
22792287
immersion = MetadataTools.getImmersion("Air");
22802288
correction = MetadataTools.getCorrection("SuperFluor");
22812289
break;
2290+
case 12209: // Nikon 20X/0.75, Plan Fluor, Multi-Immersion, CFI/60
2291+
lensNA = 0.75;
2292+
magnification = 20.;
2293+
workingDistance = 0.35;
2294+
immersion = MetadataTools.getImmersion("Water");
2295+
correction = MetadataTools.getCorrection("PlanFluor");
2296+
break;
2297+
case 12301: // Nikon 25X/1.10, Apo, LWD, Water, CFI
2298+
lensNA = 1.10;
2299+
magnification = 25.;
2300+
workingDistance = 2.0;
2301+
immersion = MetadataTools.getImmersion("Water");
2302+
break;
2303+
case 12302: // Nikon 20X/0.95, Apo, LWD, Water, CFI
2304+
lensNA = 0.95;
2305+
magnification = 20.;
2306+
workingDistance = 0.95;
2307+
immersion = MetadataTools.getImmersion("Water");
2308+
break;
22822309
case 12401: // Nikon 40X/1.30, PlanFluar, 160mm tube length
22832310
lensNA = 1.30;
22842311
magnification = 40.0;
@@ -2369,6 +2396,19 @@ else if (lensID < 20000) {
23692396
immersion = MetadataTools.getImmersion("Air");
23702397
correction = MetadataTools.getCorrection("PlanFluor");
23712398
break;
2399+
case 12414: // Nikon 40X/1.15, Apo S, LWD, Water, CFI/60 Lambda
2400+
lensNA = 1.15;
2401+
magnification = 40.0;
2402+
workingDistance = 0.61;
2403+
immersion = MetadataTools.getImmersion("Water");
2404+
model = "MRD77410";
2405+
break;
2406+
case 12415: // Nikon 40X/1.25, Apo S, Water, CFI/60 Lambda
2407+
lensNA = 1.25;
2408+
magnification = 40.0;
2409+
workingDistance = 0.2;
2410+
immersion = MetadataTools.getImmersion("Water");
2411+
break;
23722412
case 12600: // Nikon 60X/1.40, CF N Plan Apochromat, 160mm tube length
23732413
lensNA = 1.40;
23742414
magnification = 60.0;
@@ -2425,6 +2465,37 @@ else if (lensID < 20000) {
24252465
model = "MRH00602";
24262466
correction = MetadataTools.getCorrection("PlanFluor");
24272467
break;
2468+
case 12607: // Nikon 60X/1.40, Plan Apo, VC, CFI/60
2469+
lensNA = 1.40;
2470+
magnification = 60.;
2471+
workingDistance = 0.13;
2472+
immersion = MetadataTools.getImmersion("Oil");
2473+
model = "MRD01602";
2474+
correction = MetadataTools.getCorrection("PlanApo");
2475+
break;
2476+
case 12608: // Nikon 60X/1.20, Water, Plan Apo, VC, CFI/60
2477+
lensNA = 1.20;
2478+
magnification = 60.;
2479+
workingDistance = 0.28;
2480+
immersion = MetadataTools.getImmersion("Water");
2481+
model = "MRD07602";
2482+
correction = MetadataTools.getCorrection("PlanApo");
2483+
break;
2484+
case 12609: // Nikon 60X/1.40, Plan Apochromat, Lambda, CFI/60
2485+
lensNA = 1.40;
2486+
magnification = 60.;
2487+
workingDistance = 0.13;
2488+
immersion = MetadataTools.getImmersion("Oil");
2489+
correction = MetadataTools.getCorrection("PlanApo");
2490+
break;
2491+
case 12610: // Nikon 60X/1.27, Plan Apochromat IR, Water, Lambda, CFI/60
2492+
lensNA = 1.27;
2493+
magnification = 60.;
2494+
workingDistance = 0.17;
2495+
immersion = MetadataTools.getImmersion("Water");
2496+
model = "MRD07620";
2497+
correction = MetadataTools.getCorrection("PlanApo");
2498+
break;
24282499
case 12000: // Nikon 100X/1.40, CF N Plan Apochromat, 160mm tube length
24292500
lensNA = 1.40;
24302501
magnification = 100.0;
@@ -2471,6 +2542,21 @@ else if (lensID < 20000) {
24712542
model = "MRH00900";
24722543
correction = MetadataTools.getCorrection("PlanFluor");
24732544
break;
2545+
case 12006: // Nikon 100X/0.85, CR L EPI Plan, Corr Collar 0.0-0.70, CFI 60
2546+
lensNA = 0.85;
2547+
magnification = 100.;
2548+
workingDistance = 0.85;
2549+
immersion = MetadataTools.getImmersion("Air");
2550+
model = "MUE35900";
2551+
break;
2552+
case 12007: // Nikon 100X/1.40, Plan Apo, VC, CFI/60
2553+
lensNA = 1.40;
2554+
magnification = 100.;
2555+
workingDistance = 0.13;
2556+
immersion = MetadataTools.getImmersion("Oil");
2557+
model = "MRD01901";
2558+
correction = MetadataTools.getCorrection("PlanApo");
2559+
break;
24742560
case 12101: // Nikon 2X/0.10, Plan Apo, 160mm tube length
24752561
lensNA = 0.10;
24762562
magnification = 2.;
@@ -2806,32 +2892,20 @@ else if (lensID < 20000) {
28062892
magnification = 10.0;
28072893
workingDistance = 15.00;
28082894
immersion = MetadataTools.getImmersion("Air");
2809-
correction = MetadataTools.getCorrection("PlanFluor");
2810-
manufacturer = "Nikon";
2811-
break;
2812-
case 18108:
2813-
magnification = 20.0;
2814-
lensNA = 0.75;
2815-
correction = MetadataTools.getCorrection("PlanApo");
2816-
manufacturer = "Nikon";
2895+
correction = MetadataTools.getCorrection("PlanFluor");
2896+
manufacturer = "Nikon";
28172897
break;
2818-
case 18109:
2819-
magnification = 40.0;
2820-
lensNA = 0.95;
2821-
correction = MetadataTools.getCorrection("PlanApo");
2822-
manufacturer = "Nikon";
2823-
break;
2824-
case 18110:
2825-
magnification = 40.0;
2826-
lensNA = 0.60;
2827-
correction = MetadataTools.getCorrection("PlanFluor");
2828-
manufacturer = "Nikon";
2898+
case 18108: // GE 10X/0.45, 1mm substrate, GRC
2899+
lensNA = 0.45;
2900+
magnification = 10.0;
2901+
workingDistance = 3.00;
2902+
immersion = MetadataTools.getImmersion("Air");
28292903
break;
2830-
case 18111:
2831-
magnification = 4.0;
2832-
lensNA = 0.20;
2833-
correction = MetadataTools.getCorrection("PlanApo");
2834-
manufacturer = "Nikon";
2904+
case 18109: // GE 10X/0.45, 0.17mm coverslip, GRC
2905+
lensNA = 0.45;
2906+
magnification = 10.0;
2907+
workingDistance = 3.00;
2908+
immersion = MetadataTools.getImmersion("Air");
28352909
break;
28362910
case 18201: // API 20X, HiRes A, CW
28372911
lensNA = 0.55;
@@ -2883,11 +2957,11 @@ else if (lensID < 20000) {
28832957
workingDistance = 0.48;
28842958
immersion = MetadataTools.getImmersion("Air");
28852959
break;
2886-
case 20007: // Applied Precision 100X/1.4
2887-
lensNA = 1.4;
2888-
magnification = 100.0;
2889-
immersion = MetadataTools.getImmersion("Oil");
2890-
manufacturer = "Applied Precision";
2960+
case 20007: // Applied Precision 100X/1.4
2961+
lensNA = 1.4;
2962+
magnification = 100.0;
2963+
immersion = MetadataTools.getImmersion("Oil");
2964+
manufacturer = "Applied Precision";
28912965
break;
28922966
case 1: // Zeiss 10X/.25
28932967
lensNA = 0.25;

components/formats-gpl/src/loci/formats/in/RCPNLReader.java

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@
2828
import java.io.IOException;
2929

3030
import loci.formats.FormatException;
31+
import loci.formats.MetadataTools;
3132
import loci.formats.meta.MetadataStore;
33+
import ome.units.UNITS;
34+
import ome.units.quantity.Length;
3235

3336
public class RCPNLReader extends DeltavisionReader {
3437

@@ -57,8 +60,45 @@ protected void populateObjective(MetadataStore store, int lensID)
5760
{
5861
super.populateObjective(store, lensID);
5962

60-
if (lensID == 18107) {
61-
store.setObjectiveLensNA(0.30, 0, 0);
63+
switch (lensID) {
64+
case 18107:
65+
store.setObjectiveNominalMagnification(10.0, 0, 0);
66+
store.setObjectiveLensNA(0.30, 0, 0);
67+
store.setObjectiveWorkingDistance(
68+
new Length(15.0, UNITS.MILLIMETER), 0, 0);
69+
store.setObjectiveImmersion(MetadataTools.getImmersion("Air"), 0, 0);
70+
store.setObjectiveCorrection(
71+
MetadataTools.getCorrection("PlanFluor"), 0, 0);
72+
store.setObjectiveManufacturer("Nikon", 0, 0);
73+
break;
74+
case 18108:
75+
store.setObjectiveNominalMagnification(20.0, 0, 0);
76+
store.setObjectiveLensNA(0.75, 0, 0);
77+
store.setObjectiveCorrection(
78+
MetadataTools.getCorrection("PlanApo"), 0, 0);
79+
store.setObjectiveManufacturer("Nikon", 0, 0);
80+
break;
81+
case 18109:
82+
store.setObjectiveNominalMagnification(40.0, 0, 0);
83+
store.setObjectiveLensNA(0.95, 0, 0);
84+
store.setObjectiveCorrection(
85+
MetadataTools.getCorrection("PlanApo"), 0, 0);
86+
store.setObjectiveManufacturer("Nikon", 0, 0);
87+
break;
88+
case 18110:
89+
store.setObjectiveNominalMagnification(40.0, 0, 0);
90+
store.setObjectiveLensNA(0.60, 0, 0);
91+
store.setObjectiveCorrection(
92+
MetadataTools.getCorrection("PlanFluor"), 0, 0);
93+
store.setObjectiveManufacturer("Nikon", 0, 0);
94+
break;
95+
case 18111:
96+
store.setObjectiveNominalMagnification(4.0, 0, 0);
97+
store.setObjectiveLensNA(0.20, 0, 0);
98+
store.setObjectiveCorrection(
99+
MetadataTools.getCorrection("PlanApo"), 0, 0);
100+
store.setObjectiveManufacturer("Nikon", 0, 0);
101+
break;
62102
}
63103
}
64104

0 commit comments

Comments
 (0)