<div dir="ltr">Hi Roman,<div><br></div><div><div>> I've extended the MetaImage (used by e.g. ITK/VTK)  IO-plugin from</div><div>> Kang Li (<a href="http://www.kangli.org/code/MetaImage_Reader_Writer.html">http://www.kangli.org/code/MetaImage_Reader_Writer.html</a>) to</div>

<div>> also support compression and local data storage, i.e. MHAs. The</div><div>> MetaImage Reader/Writer from</div><div>> (<a href="http://ij-plugins.sourceforge.net/plugins/3d-io/">http://ij-plugins.sourceforge.net/plugins/3d-io/</a>) seems not to</div>

<div>> support this either. Reading and writing in Fiji was tested with MHDs</div><div>> and MHAs created/read by ITK-4.5.1. While the plugin handles files</div><div>> bigger than 4GB correctly, (for unknown reasons my) ITK seems to have</div>

<div>> problems with MHDs/MHAs bigger than 4GB (in general).</div></div><div><br></div><div>Interesting work. If you would like to get it upstream into Fiji, I suggest filing a Pull Request [1] against the IO repository [2].</div>

<div><br></div><div>Please also be aware that ImageJ is moving away from HandleExtraFileTypes hacks in favor of a unified Java library for image I/O known as SCIFIO [3]. There is already a SCIFIO/ITK bridge project [4, 5] that allows reading and writing SCIFIO formats within ITK.</div>

<div><br></div><div>Regards,</div><div>Curtis</div><div><br></div><div>[1] <a href="https://help.github.com/articles/using-pull-requests">https://help.github.com/articles/using-pull-requests</a></div><div>[2] <a href="https://github.com/fiji/IO">https://github.com/fiji/IO</a></div>

<div>[3] <a href="http://imagej.net/SCIFIO">http://imagej.net/SCIFIO</a></div><div>[4] <a href="https://github.com/scifio/scifio-imageio">https://github.com/scifio/scifio-imageio</a></div><div>[5] <a href="https://github.com/scifio/scifio-itk-bridge">https://github.com/scifio/scifio-itk-bridge</a></div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 28, 2014 at 12:34 PM, Williams, Norman K <span dir="ltr"><<a href="mailto:norman-k-williams@uiowa.edu" target="_blank">norman-k-williams@uiowa.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is a good thing to submit to ITK proper; it would require conversion<br>
to C++, though.<br>
<br>
On 7/28/14, 9:23 AM, "Dr. Roman Grothausmann"<br>
<div><div class="h5"><<a href="mailto:grothausmann.roman@mh-hannover.de">grothausmann.roman@mh-hannover.de</a>> wrote:<br>
<br>
>Dear mailing list members,<br>
><br>
><br>
>I've extended the MetaImage (used by e.g. ITK/VTK)  IO-plugin from Kang<br>
>Li<br>
>(<a href="http://www.kangli.org/code/MetaImage_Reader_Writer.html" target="_blank">http://www.kangli.org/code/MetaImage_Reader_Writer.html</a>) to also support<br>
>compression and local data storage, i.e. MHAs. The MetaImage<br>
>Reader/Writer from<br>
>(<a href="http://ij-plugins.sourceforge.net/plugins/3d-io/" target="_blank">http://ij-plugins.sourceforge.net/plugins/3d-io/</a>) seems not to support<br>
>this<br>
>either.<br>
>Reading and writing in Fiji was tested with MHDs and MHAs created/read by<br>
>ITK-4.5.1. While the plugin handles files bigger than 4GB correctly, (for<br>
>unknown reasons my) ITK seems to have problems with MHDs/MHAs bigger than<br>
>4GB<br>
>(in general).<br>
>The plugin does not check whether the size of the compressed data is<br>
>correct,<br>
>ITK however does. If the header lacks an entry of CompressedDataSize, ITK<br>
>throws<br>
>an error when reading/loading such a file. If the size specified with<br>
>CompressedDataSize is too big, ITK just issues a warning. This was used<br>
>as a<br>
>workaround because I did not find an easy way in Java to put the correct<br>
>value<br>
>for CompressedDataSize without using extra temporary files (which might<br>
>be quite<br>
>big).<br>
><br>
>Attached are the modified files (java-files, plugins.config and a<br>
>repacked<br>
>IO_-2.0.0-SNAPSHOT.jar).<br>
>A modified HandleExtraFileTypes.java (based on:<br>
><a href="https://github.com/fiji/IO/blob/master/src/main/java/HandleExtraFileTypes" target="_blank">https://github.com/fiji/IO/blob/master/src/main/java/HandleExtraFileTypes</a>.<br>
>java)<br>
>is also included.<br>
>Togehter with the modified Plugin it allows opening MHDs and MHAs<br>
>directly.<br>
><br>
><br>
>The repacked IO_-2.0.0-SNAPSHOT.jar was generated with:<br>
><br>
>javac -cp /opt/fiji/Fiji.app/jars/ij-1.48a.jar:. MetaImage_Reader.java<br>
>javac -cp /opt/fiji/Fiji.app/jars/ij-1.48a.jar:. MetaImage_Writer.java<br>
>javac -cp /opt/fiji/Fiji.app/jars/ij-1.48a.jar:. MetaImage_CWriter.java<br>
><br>
>javac -cp /opt/fiji/Fiji.app/jars/ij-1.48a.jar:. HandleExtraFileTypes.java<br>
><br>
>The compiled Class-files were moved to a subfolder named io/:<br>
>ExtendedFileOpener.class  MetaImage_CWriter.class  MetaImage_Writer.class<br>
>ExtendedFileSaver.class   MetaImage_Reader.class<br>
>ReplacingInputStream.class<br>
><br>
>And then included/replaced with zip:<br>
>zip -r IO_-2.0.0-SNAPSHOT.jar plugins.config HandleExtraFileTypes.class<br>
>io/<br>
><br>
>Feel free to add these extensions to the Plugin-Page or the ImageJ/Fiji<br>
>repository.<br>
>Any suggestions concerning improvements are very welcome.<br>
><br>
><br>
>Many thanks for ImageJ/Fiji and the initial Metaimage IO-plugin.<br>
>Roman<br>
><br>
><br>
>--<br>
>Dr. Roman Grothausmann<br>
><br>
>Tomographie und Digitale Bildverarbeitung<br>
>Tomography and Digital Image Analysis<br>
><br>
>Institut für Funktionelle und Angewandte Anatomie, OE 4120<br>
>Medizinische Hochschule Hannover<br>
>Carl-Neuberg-Str. 1<br>
>D-30625 Hannover<br>
><br>
>Tel. +49 511 532-9574<br>
><br>
><br>
><br>
</div></div>>======================================================================<br>
>A potentially unsafe attachment has been removed from this email<br>
>message. See <a href="http://its.uiowa.edu/support/article/100806" target="_blank">http://its.uiowa.edu/support/article/100806</a> for further<br>
>information.<br>
><br>
>Removed attachment name(s):<br>
>IO_-2.0.0-SNAPSHOT.jar<br>
>======================================================================<br>
><br>
<br>
<br>
<br>
________________________________<br>
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.<br>


________________________________<br>
_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-users" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><br>
</blockquote></div><br></div>