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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>ch.psi.imagej</groupId>
|
<groupId>ch.psi.imagej</groupId>
|
||||||
<artifactId>ch.psi.imagej.cbf</artifactId>
|
<artifactId>ch.psi.imagej.cbf</artifactId>
|
||||||
<version>0.0.2</version>
|
<version>0.0.3</version>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -34,6 +34,8 @@ import java.util.Date;
|
|||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -53,6 +55,10 @@ import javax.imageio.stream.ImageInputStream;
|
|||||||
* types.
|
* types.
|
||||||
*/
|
*/
|
||||||
public class CbfImageReader extends ImageReader {
|
public class CbfImageReader extends ImageReader {
|
||||||
|
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(CbfImageReader.class.getName());
|
||||||
|
|
||||||
private CbfMetadata metadata;
|
private CbfMetadata metadata;
|
||||||
|
|
||||||
public CbfImageReader(ImageReaderSpi originatingProvider) {
|
public CbfImageReader(ImageReaderSpi originatingProvider) {
|
||||||
@ -557,7 +563,13 @@ public class CbfImageReader extends ImageReader {
|
|||||||
CbfMetadata mdata = new CbfMetadata();
|
CbfMetadata mdata = new CbfMetadata();
|
||||||
readMetadataIdentifier(stream, mdata);
|
readMetadataIdentifier(stream, mdata);
|
||||||
readMetadataDataBlockName(stream, mdata);
|
readMetadataDataBlockName(stream, mdata);
|
||||||
|
try{
|
||||||
readMetadataHeader(stream, mdata);
|
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);
|
readMetadataMimeMiniHeader(stream, mdata);
|
||||||
metadata = mdata;
|
metadata = mdata;
|
||||||
}
|
}
|
||||||
@ -593,9 +605,10 @@ public class CbfImageReader extends ImageReader {
|
|||||||
throw new IIOException("Expected _array_data.header_convention tag");
|
throw new IIOException("Expected _array_data.header_convention tag");
|
||||||
}
|
}
|
||||||
String convention = trimQuotes(line.substring("_array_data.header_convention ".length()));
|
String convention = trimQuotes(line.substring("_array_data.header_convention ".length()));
|
||||||
if (!convention.startsWith("SLS_1.")) {
|
// FIXME
|
||||||
throw new IIOException("Unrecognized header convention: " + convention);
|
// if (!convention.startsWith("SLS_1.")) {
|
||||||
}
|
// throw new IIOException("Unrecognized header convention: " + convention);
|
||||||
|
// }
|
||||||
mdata.setHeaderConvention(convention);
|
mdata.setHeaderConvention(convention);
|
||||||
if (!convention.equals("SLS_1.0")) {
|
if (!convention.equals("SLS_1.0")) {
|
||||||
processWarningOccurred("Unrecognized header convention: " + convention);
|
processWarningOccurred("Unrecognized header convention: " + convention);
|
||||||
@ -618,8 +631,9 @@ public class CbfImageReader extends ImageReader {
|
|||||||
String value = line.substring("# Detector:".length());
|
String value = line.substring("# Detector:".length());
|
||||||
mdata.setHeaderDetector(parseHeaderDetector(value));
|
mdata.setHeaderDetector(parseHeaderDetector(value));
|
||||||
} else if (datePattern.matcher(line).lookingAt()) {
|
} else if (datePattern.matcher(line).lookingAt()) {
|
||||||
String value = line.substring("# ".length());
|
// FIXME
|
||||||
mdata.setHeaderDate(parseHeaderDate(value));
|
// String value = line.substring("# ".length());
|
||||||
|
// mdata.setHeaderDate(parseHeaderDate(value));
|
||||||
} else if (line.startsWith("# Pixel_size ")) {
|
} else if (line.startsWith("# Pixel_size ")) {
|
||||||
String value = line.substring("# Pixel_size ".length());
|
String value = line.substring("# Pixel_size ".length());
|
||||||
mdata.setHeaderPixelSize(parseHeaderPixelSize(value));
|
mdata.setHeaderPixelSize(parseHeaderPixelSize(value));
|
||||||
@ -717,6 +731,7 @@ public class CbfImageReader extends ImageReader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
throw new IIOException("Error reading header", e);
|
throw new IIOException("Error reading header", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user