Hi Michael, On 29 Aug 2014, at 13:09, Michael Ellis <[email protected]> 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
> [email protected]
> http://imagej.net/mailman/listinfo/imagej-devel
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ ImageJ-devel mailing list [email protected] http://imagej.net/mailman/listinfo/imagej-devel
