imagej / imagej/imagej-ops

Create ops subproject leveraging Apache Commons Math 3?

Open
#429 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
94
Forks
44
PR merge metrics
No merged PRs in 30d

Description

Apache Commons Math 3 has lots of neat statistics functions. We should glance over them, and decide whether it makes sense to wrap any of them as ops. They all operate on `double[]` objects.

Here is an [example script](http://forum.imagej.net/t/coding-with-fiji/2089/8) from @BishopWolf:

``` python
from ij import IJ

from org.apache.commons.math3.stat.descriptive.rank import Min, Max, Median, Percentile
from org.apache.commons.math3.stat.descriptive.moment import Mean, Variance, Skewness, Kurtosis

imp = IJ.getImage()
ip = imp.getProcessor().convertToFloat() # as a copy
pixels = ip.getPixels()
newpixels = []

print "Image is", imp.title, "of type", imp.type

for pixel in pixels:
newpixels.append(pixel)

print "1. Minimum is:", Min().evaluate(newpixels)
print "2. Maximum is:", Max().evaluate(newpixels)
print "3. Median is:", Median().evaluate(newpixels)
print "4. Percentile is:", Percentile().evaluate(newpixels)
print "5. Mean is:", Mean().evaluate(newpixels)
print "6. Variance is:", Variance().evaluate(newpixels)
print "7. Skewness is:", Skewness().evaluate(newpixels)
print "8. Kurtosis is:", Kurtosis().evaluate(newpixels)
```

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Apache Commons Math 3 descriptive statistics classes named in the issue and the linked example script. Determine which operations should be wrapped as ImageJ Ops and define the scope and acceptance criteria for the proposed subproject.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
computer-vision
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.