[SCIFIO] T1dSavingImagePlanes breaks when changing from PNG to TIFF
Curtis Rueden
ctrueden at wisc.edu
Wed Dec 3 12:26:13 CST 2014
Hi Michael,
> I’m curious though because I didn’t think PNG files could handle
> anything other than 2D images.
SCIFIO writes the APNG format [1] when there are multiple planes.
> So I try to open the SCIFIOTutorial.png in ImageJ and I see only a
> single plane image.
Standard PNG readers (including ImageJ 1.x's built-in PNG reader) will read
only the first plane. Did you try with File > Import > Image... which uses
SCIFIO when opening?
> I change SCIFIOTutorial.png to SCIFIOTutorial.tif and run the program.
> I get the following exception:
>
> Exception in thread "main" io.scif.FormatException: Buffer too small
> (got 2500, expected 12500).
Thanks for the report. I can confirm this bug. I filed an issue for it:
https://github.com/scifio/scifio/issues/236
> So how do I save a X,Y,Channels image in TIFF format with SCIFIO?
Once that issue is resolved, things should work!
Regards,
Curtis
[1] https://en.wikipedia.org/wiki/APNG
On Wed, Dec 3, 2014 at 5:20 AM, Michael Ellis <michael.ellis at dsuk.biz>
wrote:
> T1dSavingImagePlanes saves a fake image
> “8bit-signed&pixelType=int8&lengths=50,50,3,5,7&axes=X,Y,Z,Channel,Time.fake”
> as a png file.
>
> I run the program and it completes without errors.
>
> I’m curious though because I didn’t think PNG files could handle anything
> other than 2D images. So I try to open the SCIFIOTutorial.png
> in ImageJ and I see only a single plane image. There are no warnings or
> errors when saving the file to suggest that there is any loss of fidelity.
> Is
> that the intention?
>
> Anyway, I know TIFF files can support multiple channels, so I change
> SCIFIOTutorial.png to SCIFIOTutorial.tif and run the program. I get the
> following exception:
>
> Exception in thread "main" io.scif.FormatException: Buffer too small (got
> 2500, expected 12500).
> at io.scif.util.FormatTools.checkBufferSize(FormatTools.java:665)
> at
> io.scif.util.FormatTools.checkPlaneForWriting(FormatTools.java:610)
> at io.scif.AbstractWriter.checkParams(AbstractWriter.java:121)
> at
> io.scif.formats.TIFFFormat$Writer.savePlane(TIFFFormat.java:1291)
> at
> io.scif.formats.TIFFFormat$Writer.writePlane(TIFFFormat.java:1399)
> at io.scif.AbstractWriter.savePlane(AbstractWriter.java:168)
> at io.scif.AbstractWriter.savePlane(AbstractWriter.java:159)
> at
> io.scif.tutorials.core.T1dSavingImagePlanes.main(T1dSavingImagePlanes.java:75)
>
> Now this is most unexpected, because I would have assumed the TIFF format
> was able to store the images with at least the same fidelity as PNG.
>
> OK I know TIFF can save files of 3 dimensions, so I change the fake images
> to “8bit-signed&pixelType=int8&lengths=50,50,7&axes=X,Y,Channel.fake”
>
> Again I get and exception.
>
> OK, how about a 2D image,
> “8bit-signed&pixelType=int8&lengths=50,50&axes=X,Y.fake”?
>
> And that finally works.
>
> So how do I save a X,Y,Channels image in TIFF format with SCIFIO?
>
> Thanks for any help.
>
> — Michael Ellis
> Digital Scientific UK Ltd.
>
>
>
>
> _______________________________________________
> SCIFIO mailing list
> SCIFIO at scif.io
> http://scif.io/mailman/listinfo/scifio
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://scif.io/pipermail/scifio/attachments/20141203/26b7182f/attachment-0002.html>
More information about the SCIFIO
mailing list