<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Hi Paul,<br class="">
<br class="">
<blockquote type="cite" class="">On 16 Dec 2016, at 12:34, Paul van Schayck <<a href="mailto:paul@vanschayck.nl" class="">paul@vanschayck.nl</a>> wrote:<br class="">
<br class="">
Dear all,<br class="">
<br class="">
I'm working with a FEI Scios microscope (SEM, scanning electron<br class="">
microscopy) with software (called FEI MAPS) outputting stitched images<br class="">
of about 20k by 20k pixels. Unfortunately, it does not do this in any<br class="">
defined format. It does this in files called .raw with the image size<br class="">
specific in the filename. These are unsigned 16 bit little endian<br class="">
files with no header. For viewing purposes we would like to import<br class="">
them into OMERO.<br class="">
<br class="">
So I've written this reader to support reading the format in<br class="">
BioFormats and thus OMERO. The code can be found here [1]. This is<br class="">
working, and after updating both the .jars on the importer side and<br class="">
the server side (taking the right bioformats version to fork from into<br class="">
consideration), we can now view the pyramided files in OMERO.<br class="">
</blockquote>
<br class="">
This looks really nice.<br class="">
<br class="">
<blockquote type="cite" class="">But I've got a couple of questions and maybe remarks about this:<br class="">
<br class="">
- Do you see any issues with the code at the moment?<br class="">
</blockquote>
<br class="">
Having briefly looked at it, it looks like a very good example of a minimal format reader.
<div class=""><br class="">
<blockquote type="cite" class="">- Right now, I let users rename the extension from .raw file to<br class="">
.scios. I use this then to let Bioformats discover the format reader<br class="">
(isThisType method). Would it be possible to write an isThisType()<br class="">
which could do this on the contents of the file, instead of the<br class="">
extension?<br class="">
</blockquote>
<br class="">
You might want to set both suffixSufficient and suffixNecessary to false and override<br class="">
isThisType(RandomAccessInputStream) to perform the needed operations on the file content.<br class="">
The CanonRawReader is a good example of a reader using this strategy:<br class="">
<br class="">
<a href="https://github.com/openmicroscopy/bioformats/blob/v5.3.1/components/formats-gpl/src/loci/formats/in/CanonRawReader.java" class="">https://github.com/openmicroscopy/bioformats/blob/v5.3.1/components/formats-gpl/src/loci/formats/in/CanonRawReader.java</a></div>
<div class=""><br class="">
</div>
<div class=""><br class="">
<blockquote type="cite" class="">- It's quite a hassle to having to update both the server side .jars<br class="">
and the client side OMERO importer jars. Just updating the server side<br class="">
is not enough, as the importer will already complain about not knowing<br class="">
the format. Having to provide your own distribution of the clients is<br class="">
troublesome. Why can't the importer be agnostic to the formats tried<br class="">
to be imported?<br class="">
</blockquote>
<br class="">
It’s not that the importer can’t be agnostic to the formats; it’s just that it currently is not. Making it so has certainly been on our cards
<div class="">for some time. If you or anyone else would like to make an attempt, the relevant code is:<br class="">
<br class="">
<a href="https://github.com/openmicroscopy/openmicroscopy/blob/v5.2.5/components/blitz/src/ome/formats/importer/cli/CommandLineImporter.java#L148" class="">https://github.com/openmicroscopy/openmicroscopy/blob/v5.2.5/components/blitz/src/ome/formats/importer/cli/CommandLineImporter.java#L148</a></div>
<div class=""><br class="">
where ImportCandidates should be replaced by a user-provided list based on some command-line argument. This is essentially what’s</div>
<div class="">done in this Python example:<br class="">
<br class="">
<a href="https://github.com/openmicroscopy/openmicroscopy/blob/v5.2.5/components/tools/OmeroPy/test/integration/test_repository.py#L236" class="">https://github.com/openmicroscopy/openmicroscopy/blob/v5.2.5/components/tools/OmeroPy/test/integration/test_repository.py#L236</a></div>
<div class=""><br class="">
which is perhaps another option in your case.<br class="">
<br class="">
Best,</div>
<div class="">Sebastien<br class="">
<br class="">
<blockquote type="cite" class="">Thanks,<br class="">
<br class="">
Paul van Schayck<br class="">
<br class="">
[1] <a href="https://github.com/M4I-nanoscopy/bioformats/commit/d441b019635214a7e0b2b9213d789bcabe817f15" class="">
https://github.com/M4I-nanoscopy/bioformats/commit/d441b019635214a7e0b2b9213d789bcabe817f15</a><br class="">
_______________________________________________<br class="">
ome-devel mailing list<br class="">
<a href="mailto:ome-devel@lists.openmicroscopy.org.uk" class="">ome-devel@lists.openmicroscopy.org.uk</a><br class="">
http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel<br class="">
</blockquote>
<br class="">
</div>
</div>
<br>
<span style="font-size:10pt;">The University of Dundee is a registered Scottish Charity, No: SC015096</span>
</body>
</html>