[ImageJ-devel] Feature Extraction

Christian Dietz christian.dietz at uni-konstanz.de
Wed May 13 08:22:40 CDT 2015


Hi Jay,

you are right, we are working on this project since a while. The goal of 
the work we are doing is to have efficient implementations for most of 
the well known features which can be derived from images or ROIs. The 
main work is done on the following branch:

https://github.com/imagej/imagej-ops/tree/outputop-service

and there is an open issue documenting the process:

https://github.com/imagej/imagej-ops/issues/67

A very small example how to use the features is given at:

https://github.com/imagej/imagej-ops/blob/outputop-service/src/main/java/net/imagej/ops/features/Example.java

Concerning your question with ROIs: The features implementation do not 
really care if they get an Img or a ROI. The only thing they expect is 
to get some IterableInterval or Iterable or RandomAccessibleInterval etc 
(depends on the type of feature). In KNIME we use Labelings 
(https://github.com/imglib/imglib2-roi/tree/master/src) to describe our 
segmentations and derive or ROIs.

Does this help you? It would be great if you want to contribute to the 
outputop-service and maybe implement some of the missing features.

Best,

Christian




On 13.05.2015 06:27, Jay Warrick wrote:
> Hi All,
>
> I was hoping to find some info on the 'feature service' or 'haralick' branch of imagej-ops (at least those look like to two most developed branches for feature extraction). The creation of feature set ops is a really great idea and thanks to everyone who is working on it. Likewise, I would certainly be willing to try and help fill out some features if it seems appropriate, especially when I get more familiar with the ops framework. Also, please let me know if there are any concerns with me using any of these tools prior to the authors publishing on/with these implementations themselves. My work is still preliminary, but just wanted to ask to be safe.
>
> I realize the 'feature service' and 'haralick' branches are somewhat WIPs but it seems there are many rich feature sets that appear to be nearly or completely implemented and was hoping to try and use them if possible... Towards this goal, I was able to use the FirstOrderStatFeatureSet and ZernikeFeatureSet classes to get information from an Img / ImgPlus / SCIFIOImgPlus using the example provided in the branch. However, it is unclear to me how the classes should be used to do this for each cell in an image. Is it assumed that we are feeding in small cropped and masked regions to the feature set ops? If so, suggestions on an efficient way to do so (or links to examples in other projects... Knime?) would be amazing. I'm generally able to identify cells and create ROIs and mask images etc programmatically in Java with ImageJ classes, but haven't done so with Img-related image objects yet. With a hint or two, I can try and take it from there. Maybe do the cropping etc with old I
>   mageJ classes and wrap the resultant cropped regions in Img objects? Maybe I'm way off base and I'm supposed to be using ROIs somewhere in the mix with the ops. Hopefully someone can set me straight :-)
>
> Thanks a bunch in advance.
>
> Best,
>
> Jay
> _______________________________________________
> ImageJ-devel mailing list
> ImageJ-devel at imagej.net
> http://imagej.net/mailman/listinfo/imagej-devel





More information about the ImageJ-devel mailing list