Added try/catch to ignore problems when reading the header of the cbf
...
This commit is contained in:
parent
95d13f0a20
commit
e2c0404e0c
2
pom.xml
2
pom.xml
@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ch.psi.imagej</groupId>
|
||||
<artifactId>ch.psi.imagej.cbf</artifactId>
|
||||
<version>0.0.2</version>
|
||||
<version>0.0.3</version>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user