Comments (13)
We don't use a prefix like calculate
for any other ops, so IMO it makes sense to call them area
and bounding_box
, with Area
and BoundingBox
interfaces.
from imagej-ops.
Regarding HistogramCreate
, we could rename to just Histogram
. The iface is Ops.Histogram
and the op name is histogram
.
Another case of variation in naming is the thresholding stuff, to differentiate between ComputeThreshold
and ApplyThreshold
ops... but in general, my vote is to keep names shorter.
from imagej-ops.
I the case of Histogram
you might end up with an Op
Histogram
which produces a Histogram
. So same name, different semantic meaning (I know that we only have Histogram1d at the moment, but there may be cases like the one described above)? I'm also voting for short names, but I'm somehow worried we will have more confusion and exceptions with that naming schema.
from imagej-ops.
Sorry, I wanted to address this today, but I literally spent 7.5h on trying to fix pom-fiji
and now I'm spent for the day 😦
from imagej-ops.
@dscho I am curious how you wanted to "address" this. Do you mean just write a comment? Or... did you have an idea for changing the code somehow?
from imagej-ops.
Any further ideas? I would do the following at the moment: If it is obvious (Area, Mean, Sum, ...) we keep short names. But as soon as there may be some confusion (Histogram vs. Histogram for example), I suggest the prefixes "Calc" or "Compute".
For example the operation would be named
ComputeHistogram
the Histogram itself Histogram
.
Any comments?
from imagej-ops.
There are two separate issues: what to name the op (i.e., the @Plugin
annotation's name
value), and what to name the class. These have historically diverged, although we could consider unifying it.
I think this would be good to settle at the next hackathon, so I assigned it to the 0.20.0
milestone.
from imagej-ops.
@dietzc and I discussed and settled on the following:
SmallestEnclosingRectangleOp
- iface forOp
plugins that compute aSmallestEnclosingRectangle
(data structure)MeanOp
forOp
plugins that compute aMean
(data structure)- etc.
from imagej-ops.
This issue can be closed out when all ops in imagej-ops abide by this convention.
from imagej-ops.
I really quickly codified some of these naming decisions on the wiki. See also #16.
from imagej-ops.
can be closed see wiki https://github.com/imagej/imagej-ops/wiki/Naming
from imagej-ops.
This issue can be closed out when all ops in imagej-ops abide by this convention.
And we are unfortunately quite far from that: nearly no op ends with the Op
suffix mentioned in the documentation. From the docs:
The reason for the
Op
suffix ofFooOp
etc. is in case the operation works with a data structure of the same name. For example, aMeanOp
might compute aMean
, aSmallestEnclosingRectangleOp
might compute aSmallestEnclosingRectangle
, and so on.
My understanding was that we would close this issue only after all ops were renamed to conform to this naming scheme.
from imagej-ops.
ah sorry, I overlooked that. makes sense.
from imagej-ops.
Related Issues (20)
- 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
- FrangiVesselness: Auto-fill the spacing field
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.