<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi All,</div><div class=""><br class=""></div><div class="">I chatted with Curtis Rueden a bit today about trying this developmental feature extraction stuff out. He said I should note any successes or challenges as it might help your progress. He suggested potentially to post on the pull request but it seemed a bit long for there.</div><div class=""><br class=""></div><div class="">First of all, fantastic stuff. You are bringing so much quantitative power to the fingertips of a lot of individuals like myself. Thank you! Secondly, sorry if I'm using anything inappropriately in the rundown below but this is my best shot at trying to give you some feedback on my attempt to use your code. Also, I totally realize things are still in flux so I didn't necessarily have expectations that all this stuff would work immediately for me.</div><div class=""><br class=""></div><div class="">As of what was synced to the imagej-ops : outputop-service branch tonight, I was able to successfully get measures from a `FirstOrderStatFeatureSet` for a set of `LabelRegion`s that I got from a `Img<UnsignedByteType>` using `ConnectedComponents` (from latest ImgLib2-algorithm SNAPSHOT but just temporarily copied to its own class local for this test) and apply them to an `Img<UnsignedShortType>` using `Regions.sample(myLabelRegion, myImg)`. I think I did most of these tests using connected components detected using a 4-connected structuring element (if that matters at all).</div><div class=""><br class=""></div><div class="">I ran into an issue with the `GeometricFeatureSet` where I got a </div><div class="">`````</div><div class="">java.lang.ArrayIndexOutOfBoundsException: -1</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>java.util.ArrayList.elementData(ArrayList.java:400)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>java.util.ArrayList.remove(ArrayList.java:477)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>net.imagej.ops.geometric.polygon.DefaultConvexHullOp.run(DefaultConvexHullOp.java:127)</div><div class="">`````</div><div class="">All my regions are quite sizeable (all between 1000 and 6000 pixels, see end of email) so I'm not sure why this would happen. I'm basically doing the following for this test using the same regions as I used with the `FirstOrderStatFeatureSet`</div><div class=""><br class=""></div><div class="">`````</div><div class="">GeometricFeatureSet opGeometric = ij.op().op(GeometricFeatureSet.class, LabelRegion.class);</div><div class="">List<Pair<String, DoubleType>> results = opGeometric.getFeatureList(Regions.iterable(myLabelRegion));</div><div class="">`````</div><div class=""><br class=""></div><div class="">I'm also having a problem with `Haralick2DFeatureSet` using those same `LabelRegion`s.</div><div class="">`````</div><div class="">java.lang.ArrayIndexOutOfBoundsException: -1</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>net.imglib2.roi.labeling.LabelRegion.dimension(LabelRegion.java:459)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>net.imglib2.AbstractWrappedInterval.dimension(AbstractWrappedInterval.java:59)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>net.imagej.ops.features.haralick.helper.CooccurrenceMatrix2D.run(CooccurrenceMatrix2D.java:119)</div><div class="">`````</div><div class="">I'm testing the `Haralick2DFeatureSet` as follows...</div><div class="">````</div><div class="">Haralick2DFeatureSet<UnsignedShortType> opHaralick2DHor = ij.op(Haralick2DFeatureSet.class, (IterableInterval<UnsignedShortType>) image, 8d, 1d, "HORIZONTAL");</div><div class="">List<Pair<String, DoubleType>> results = opHaralick2DHor.getFeatureList(Regions.sample(myLabelRegion, image));</div><div class="">`````</div><div class=""><br class=""></div><div class="">The `HistogramFeatureSet` appears to work. I think I don't have my image adjusted right to see appropriate values in the histogram output though as I seem to get all 0's. I assumed the "number of bins" parameter would autoscale the data according to the image type (e.g., UnsignedShortType image scaled to fit in 256 levels/bins) but I can see why that was likely a bad assumption.</div><div class=""><br class=""></div><div class="">The `ImageMomentsFeatureSet` seems to work fine.</div><div class=""><br class=""></div><div class="">I got the following error trying to use the `Zernike` feature set...</div><div class="">`````</div><div class="">java.lang.NumberFormatException</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>java.math.BigDecimal.<init>(BigDecimal.java:470)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>java.math.BigDecimal.<init>(BigDecimal.java:739)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>java.math.BigDecimal.valueOf(BigDecimal.java:1069)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>net.imagej.types.BigComplex.setReal(BigComplex.java:225)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>net.imagej.ops.features.zernike.ZernikeComputer.normalize(ZernikeComputer.java:193)</div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span>net.imagej.ops.features.zernike.ZernikeComputer.fastZernikeComputation(ZernikeComputer.java:151)</div><div class="">`````</div><div class="">I'm using it as follows on the 8-bit mask image</div><div class="">`````</div><div class="">ZernikeFeatureSet<UnsignedByteType> opZernike = ij.op().op(ZernikeFeatureSet.class, (IterableInterval<UnsignedByteType>) mask, true, true, 1, 3);</div><div class="">List<Pair<String, DoubleType>> results = opZernike.getFeatureList(Regions.sample(myLabelRegion, mask));</div><div class="">`````</div><div class=""><br class=""></div><div class="">I figured, in case I'm doing a bunch of things wrong, it would be easier for you to just have the data I'm using to see if you get the same issues using your own code. The images that I'm using are here...</div><div class=""><br class=""></div><div class=""> <a href="https://drive.google.com/folderview?id=0BzopfqjGpdu8flBNTHdjXzN2eUJhR1NCNmNTbHJ5T3RNVDJRbmdwVnJiYnI0Nk43ZXp3QzA&usp=sharing" class="">https://drive.google.com/folderview?id=0BzopfqjGpdu8flBNTHdjXzN2eUJhR1NCNmNTbHJ5T3RNVDJRbmdwVnJiYnI0Nk43ZXp3QzA&usp=sharing</a></div><div class=""><br class=""></div><div class="">The folder includes a small txt output of only the label regions that I'm analyzing (their pixel areas and centers of mass), given I am not using all labeled objects that come from the connected components analysis. Lastly, my label indices start at 0 if you are looking to match up output from ConnectedComponents with this.</div><div class=""><br class=""></div><div class="">If you have any feedback on where I might be doing things wrong, please let me know.</div><div class=""><br class=""></div><div class="">Thanks!</div><div class=""><br class=""></div><div class="">Jay</div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>