Skip to content

Commit 4d06b6b

Browse files
Metamorph: prevent NumberFormatException when trying to read wavelength in nm
Fixes #4273.
1 parent ea96bf4 commit 4d06b6b

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@
3434
import ome.units.UNITS;
3535
import ome.units.quantity.Length;
3636

37+
import org.slf4j.Logger;
38+
import org.slf4j.LoggerFactory;
39+
3740
import org.xml.sax.Attributes;
3841

3942
/**
@@ -45,6 +48,9 @@
4548
*/
4649
public class MetamorphHandler extends BaseHandler {
4750

51+
private static final Logger LOGGER =
52+
LoggerFactory.getLogger(MetamorphHandler.class);
53+
4854
// -- Fields --
4955

5056
private Hashtable metadata;
@@ -256,7 +262,15 @@ else if (key.equals("stage-position-y")) {
256262
}
257263
}
258264
if (key.equals("wavelength")) {
259-
wavelengths.add(Integer.parseInt(value));
265+
// usually this key represents an integer wavelength in nm
266+
// sometimes it can be a more descriptive string with no
267+
// usable value in nm
268+
try {
269+
wavelengths.add(Integer.parseInt(value));
270+
}
271+
catch (NumberFormatException e) {
272+
LOGGER.debug("Could not parse wavelength value from {}", value);
273+
}
260274
}
261275
else if (key.equals("acquisition-time-local")) {
262276
date = value;

0 commit comments

Comments
 (0)