diff --git a/pom.xml b/pom.xml index ae9cf20..830b01a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 ch.psi.imagej ch.psi.imagej.cbf - 0.0.2 + 0.0.3 diff --git a/src/main/java/ch/psi/imagej/cbf/CbfImageReader.java b/src/main/java/ch/psi/imagej/cbf/CbfImageReader.java index 74b5dc5..89bbcbb 100644 --- a/src/main/java/ch/psi/imagej/cbf/CbfImageReader.java +++ b/src/main/java/ch/psi/imagej/cbf/CbfImageReader.java @@ -34,6 +34,8 @@ import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Locale; +import java.util.logging.Level; +import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -53,6 +55,10 @@ import javax.imageio.stream.ImageInputStream; * types. */ public class CbfImageReader extends ImageReader { + + + private static final Logger logger = Logger.getLogger(CbfImageReader.class.getName()); + private CbfMetadata metadata; public CbfImageReader(ImageReaderSpi originatingProvider) { @@ -557,7 +563,13 @@ public class CbfImageReader extends ImageReader { CbfMetadata mdata = new CbfMetadata(); readMetadataIdentifier(stream, mdata); readMetadataDataBlockName(stream, mdata); + try{ readMetadataHeader(stream, mdata); + } + catch(Exception e){ + // We actuall do not care about the header content ... + logger.log(Level.INFO, "Problem reading header ... continue with mini header", e); + } readMetadataMimeMiniHeader(stream, mdata); metadata = mdata; } @@ -593,9 +605,10 @@ public class CbfImageReader extends ImageReader { throw new IIOException("Expected _array_data.header_convention tag"); } String convention = trimQuotes(line.substring("_array_data.header_convention ".length())); - if (!convention.startsWith("SLS_1.")) { - throw new IIOException("Unrecognized header convention: " + convention); - } + // FIXME +// if (!convention.startsWith("SLS_1.")) { +// throw new IIOException("Unrecognized header convention: " + convention); +// } mdata.setHeaderConvention(convention); if (!convention.equals("SLS_1.0")) { processWarningOccurred("Unrecognized header convention: " + convention); @@ -618,8 +631,9 @@ public class CbfImageReader extends ImageReader { String value = line.substring("# Detector:".length()); mdata.setHeaderDetector(parseHeaderDetector(value)); } else if (datePattern.matcher(line).lookingAt()) { - String value = line.substring("# ".length()); - mdata.setHeaderDate(parseHeaderDate(value)); + // FIXME +// String value = line.substring("# ".length()); +// mdata.setHeaderDate(parseHeaderDate(value)); } else if (line.startsWith("# Pixel_size ")) { String value = line.substring("# Pixel_size ".length()); mdata.setHeaderPixelSize(parseHeaderPixelSize(value)); @@ -717,6 +731,7 @@ public class CbfImageReader extends ImageReader { } } } catch (IOException e) { + e.printStackTrace(); throw new IIOException("Error reading header", e); } }