Hi Michael,

On 29 Aug 2014, at 13:09, Michael Ellis <michael.el...@dsuk.biz> wrote:

> I am trying to learn about ImgLib2
> 
> In particular I could do with help for the following:
> 
> All my images will be 2D byte images typically of size 1300x1000.
> 
> How do I get an Img into a format compatible for displaying within JavaFX 
> (rather than using ImageJFunctions.show() )?
> Assuming there is no explicit JavaFX support in ImgLib2, I think this boils 
> down to producing and 24 bit RGB or 32bit ARGB image where I can access the 
> data. But how do I do this?

Have a look at ARGBScreenImage which extends ArrayImg< ARGBType, IntArray >.
This s a 2D image intended for displaying on screen. You can get to the 
underlying 32bit ARGB int[] array by
        public int[] getData()
or get it wrapped in a AWT BufferedImage by
        public BufferedImage image()

> 
> How would I combine multiple 2D 8 bit image planes (up to 7 planes, each with 
> own colour table) and combine them under programatic control into a single 
> RGB image where every pixel in the destination image dest[x, y] is a function 
> of the pixels at src[plane, x, y]?

See
net.imglib2.display.projector.composite.CompositeXYProjector
or 
net.imglib2.display.projector.composite.CompositeXYRandomAccessibleProjector
They should do exactly what you need. Note, that they expect that [x, y] of 
your image to composite are the first two dimensions. So it would work with [x, 
y, …, plane, …].
If you really have [plane, x, y], you can use Views.permute(...) to get a 
virtual view into your data as [x, y, plane].

> 
> How would I  threshold a 2D Img producing a 1 bit Img?

You could simply do this by implementing a Converter< __YourImageType__, 
BitType > and then using Converters.convert(...) to get a virtual view into 
your data as a thresholded  1 bit image.

> How would I fill holes in the binary thresholded Img?

Have a look through imglib2-algorithms, imglib2-algorithms, and imglib2-ops. 
There should be something there.

> How could I identify and label objects in the binary thresholded Img and 
> extract a concise description of the object boundaries (e.g. polygon, or 
> chain code descriptions)?

To identify objects you could use
net.imglib2.algorithm.labeling.AllConnectedComponents
About the object descriptions, I don’t think we have anything for that, but I’m 
not sure. Maybe someone familiar with imglib2-ops can comment?

best regards,
Tobias

> 
> How can I register a multiple  Imgs using cross correlation image 
> registration?
> 
> Any help would be appreciated. I’m not looking for complete solutions to this 
> and whilst this work is intended for a commercial product, I am happy to 
> contribute all the source code examples I generate by way of investigating 
> any of the above.
> 
> — Michael Ellis
> Digital Scientific UK Ltd.
> 
> 
> 
> 
> 
> 
> _______________________________________________
> ImageJ-devel mailing list
> ImageJ-devel@imagej.net
> http://imagej.net/mailman/listinfo/imagej-devel

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
ImageJ-devel mailing list
ImageJ-devel@imagej.net
http://imagej.net/mailman/listinfo/imagej-devel

Reply via email to