[ImageJ-devel] Questions about imglib2

Brian Schlining bschlining at gmail.com
Thu Mar 15 11:19:34 CDT 2012


Hi Stephan, 

Thanks very much for such a quick and detailed response. It's much appreciated.  

-- 
Brian Schlining


On Thursday, March 15, 2012 at 4:05 AM, Stephan Saalfeld wrote:

> Hi Brian,
> 
> > 1) How do I convert an net.imglib2.img.Img to a
> > java.awt.image.BufferedImage?
> 
> 
> 
> There is the interface ScreenImage which can return a BufferedImage
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/core/src/main/java/net/imglib2/display/ScreenImage.java
> 
> implemented by ARGBScreenImage
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/core/src/main/java/net/imglib2/display/ARGBScreenImage.java
> 
> and UnsignedByteScreenImage
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/core/src/main/java/net/imglib2/display/UnsignedByteScreenImage.java
> 
> . Both are Img themselves, so writing into their pixels changes the
> content of the BufferedImage. You can also map an arbitrary XY-plane of
> a RandomAccessibleInterval (Img is one) into such a screen image using
> either of the two Projectors:
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/core/src/main/java/net/imglib2/display/XYProjector.java
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/core/src/main/java/net/imglib2/display/XYRandomAccessibleProjector.java
> 
> which includes type conversion from your source type into either ARGB or
> UnsignedByte using a Converter
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/core/src/main/java/net/imglib2/converter/Converter.java
> 
> Default implementations are available, e.g.
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/core/src/main/java/net/imglib2/display/RealARGBConverter.java
> 
> An example how to use it together with ImageJ is here:
> 
> http://fiji.sc/cgi-bin/gitweb.cgi?p=imglib.git;a=blob;f=imglib2/tests/src/test/java/tests/OpenAndDisplayScreenImage.java;h=77a9dcffee790f6d202c3c730e7588b203a2def2;hb=HEAD
> 
> 
> > 2) How do I write a net.imglib2.img.Img to disk as the usual formats
> > (jpg, png, tiff) ? You have an ImgOpener but no ImgCloser err, I mean
> > ImgWriter.
> 
> 
> 
> Mark Hiner and Curtis Rueden are working on an ImageSaver:
> 
> https://github.com/ctrueden/bioformats/blob/imglib-io/components/scifio/src/ome/scifio/img/ImgSaver.java
> 
> Until this is finished, you will have to write data otherwise.
> 
> Best,
> Stephan






More information about the ImageJ-devel mailing list