Comments (18)
See also ImageJ Trac ticket #1978 for an earlier incarnation of this sort of effort.
from imagej-ops.
Here a more detailed list on what features is already implemented or needs to be implemented. I'm updating this list as we progress. The work is done on the feature-service branch.
Features
1. First Order Statistics
Responsible: @danielseebacher
- Max
- Mean
- Median
- Min
- Quantile
- StdDeviation
- Sum
- Variance
- GeometricMean
- HarmonicMean
- Kurtosis
- Moment1AboutMean
- Moment2AboutMean
- Moment3AboutMean
- Moment4AboutMean
- Percentile
- Skewness
- SumOfInverses
- SumOfLogs
- SumOfSquares
3. Geometric Features
Responsible: @danielseebacher
- Area
- CenterofGravity
- Perimeter
- Eccentricity
- Elongation
- Feret Diameter
- Feret Angle
- Solidity
- Convexity
- Circularity
- Rectangularity
- Roundness
- Aspect Ratio
4. Image Moments 2D
Responsible: @angrauma
- Image Moments
- Central Moments
- Normalized Central Moments
- Hu Moments
5. Tamura Texture Features
- Tamura 2D (@angrauma)
- Tamura 3D
6. Zernike Features
- Zernike 2D (@angrauma)
- Zernike 3D
7. Shape Features
- 2D Fourier Shape Descriptors (@seebacherd)
- 3D Fourier Shape Descriptors
8. Haralick Features
- Haralick 2D (@danielseebacher)
- Haralick 3D (@angrauma)
9. Local Binary Patterns
- Local Binary Patterns 2D (@angraumar)
- Local Binary Patterns 3D
3D: http://lmb.informatik.uni-freiburg.de/papers/download/fe_bu_icpr08.pdf
10. 3D Geometric Features
Responsible: @tibuch
- 3D Geometrical measurements (volume, surface, …) for each labelled object.
- 3D Intensity measurements (mean, integrated density, …)
- 3D Shape measurements (compactness, elongation, …)
- 3D Mesh Measurements after triangulation
- 3D fitting by an ellipsoid and main direction computation
- 3D convex hull
11. 3D Shape Features
Responsible: @tibuch
12. Gabor Texture Features
Responsible:
13. Image Moments 3D
Responsible:
from imagej-ops.
we may not forget to offer ops which respect the calibration of the image. In 2D these are especially the geometric features (area for example). In 3D, these are geometric and also (potentially) intensity based features. The calibration of an image can be passed as double[] array. Basically there are two ways to integrate respect calibration in a feature:
- we always provide a calibration as an optional input with default values
1.0
. - we offer two different implementations of the feature, one with calibration one without.
from imagej-ops.
TODO after reviewing with @ctrueden
- Renaming Def to Default
- get rid of > and RealType<?> completely. Introduce generic types if needed.
- Feature?
** Can have some helper methods - DefaultFeatureService make inner classes private!
- Do I really have to restrict myself on features or can have a "OpCompileService"?!
- OpInfo should be in net.imagej.ops (issue #57). OpArgs ().
from imagej-ops.
see https://github.com/imagej/imagej-ops/tree/outputop-service
from imagej-ops.
@angrauma A little bird told me that Zernike 3D is also working! Anything else that can be checked off the list above?
from imagej-ops.
@ctrueden haralick 3D, zernike 3D not yet :-) Anyway, @DanielSeebacher, @angrauma: could you add some a marker to the features you are currently working on?
from imagej-ops.
@dietzc Oh yeah, right! And it is checked, so I am happy.
from imagej-ops.
3D zernike? How are you planning to generalize to multiple dimensions? I found this paper here:
http://cg.cs.uni-bonn.de/aigaion2root/attachments/novotni-2003-3d.pdf
which creates a 3D Zernike-like basis set on top of spherical harmonics (think of electron orbitals if you want to get an idea).
So inquiring minds want to know exactly what you guys might have planned.
from imagej-ops.
@LeeKamentsky Yes, this is exactly the paper I would like to be oriented towards when implementing 3D Zernike moments. I also want to take a closer look at this paper: http://www.emis.de/journals/HOA/MPE/Volume2012/353406.pdf.
But it seems the idea is very close to the other paper. So it is the plan to realize the 3D Zernike descriptor as an extension of spherical harmonics based descriptors, as it is explained in the paper of Novotni and Klein, but I have not started yet implementing it, so I can not say how I will do it exactly, at the moment.
from imagej-ops.
another thing we might to work on in the future are quality metrics for images:
e.g. see: http://rsb.info.nih.gov/ij/plugins/mssim-index.html
from imagej-ops.
I would love to see the 3D features! all my data will be in 3D, but my analysis is mostly yet limited to 2D.
from imagej-ops.
@angrauma (local binary patterns, tamura, 2D Shape etc) / @tibuch (3D geometry, shape etc.) please add the remaining / missing features until September.
from imagej-ops.
Status update on this issue?
from imagej-ops.
I'm implementing the CachedOpEnviroment
and FeatureSet
these days. The existing implementations of features can then be used. I will clean-up all the branches and open PRs over the next 24h. I will update the issue then.
from imagej-ops.
@dietzc Great, thanks!
from imagej-ops.
... approaching ;-) I will close this issue in favour of issues for the missing feature implementations soon.
from imagej-ops.
closed in favour of several other issues I just created.
from imagej-ops.
Related Issues (20)
- MTKT issues: Correctness & Performance are suspect
- Median not returning mean of two middle values for even number of values HOT 8
- Add stats.mode op to compute modal value
- Confusing behavior for histogram HOT 2
- Quesrtion: Sobel filter HOT 3
- SobelRAI derivativeComputer array error prone if dimension mismatch HOT 5
- AbstractPadAndFFTFilter overrides OutOfBoundsFactory parameter of PadAndConvolveFFTF HOT 7
- Ops filter gauss does not respect the image dimensions HOT 1
- JOML version from parent pom conflicts with current scenery/sciview
- Repeated computation of co-occurrence matrix in haralick features
- Yen threshold differs from IJ1 HOT 4
- Fractal Dimension creates thousands of zombie threads that crash ImageJ HOT 4
- filter/addPoissonNoise hangs up with large pixel values
- Size inconsistencies for Polygon2Ds HOT 2
- Improve OpSearchResult to give limited type information in stringified op HOT 2
- OpListings ignore preallocated outputs
- DefaultGaussRAI.compute() reports cryptic IAE for sigma dimension mismatch HOT 1
- ClassCastException from ConstantToIIOutputII
- OpSearcher reduces OpListings too eagerly HOT 3
- CreateOutputFFTMethods requires a image creator that can take an ImgFactory HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imagej-ops.