Comments (7)
Perhaps more flexibly, the op could take the Localizable
(i.e., Cursor
or RandomAccessible
) itself as its extra argument. Then the op can localize however it wants.
from imagej-ops.
I think it is a useful thing to add, but it is not a "map" operation (which by definition does not care about position so it can be parallelized trivally). We'll need to be careful with naming (maybe Pixelwise
?)
from imagej-ops.
I don't understand the technical definition of the term "map" enough to agree that this would not be a "map" operation. Do you have a reference?
from imagej-ops.
I guess my understanding was incomplete: https://en.wikipedia.org/wiki/Mapreduce#Map_function. In light of that, I fear that we are really using the term map more in the mathematical sense where it maps inputs to outputs (at least that's my understanding of a mathematical map operation).
from imagej-ops.
@dscho: Well, that's only for MapReduce, which is a very a specific thing. Very popular now, so I'm sure it turns up early in Internet searches, but still. I think it was @dietzc who first started using the terms "map" and "mapper"... from whence did these terms come, @dietzc?
from imagej-ops.
We used the word "map" in our implementations since some years. I think it comes from the mathematical definition of map (http://en.wikipedia.org/wiki/Map_%28mathematics%29, morphism I guess), but honestly I think @hornm came up with the name. I like the name because it's short, easy and understandable. synonyms would be: assign, element-wise (pixel-wise is not general enough) and so on.
about the actual topic in the issue: Yes such an operation would be really useful, but would the "input" of such a map still be an unary function or more a binary function (if we would have something like that?. Currently a map uses a function A,B and applies it e.g. on each pixel (type A to type B). The map @ctrueden describes would take A, Localizable and produce B. So what would the input of such a Map operation be? BinaryFunction A1,A2,B? Of course we would just need the BinaryFunction for faster methods calls inside the op (as we actually could plug in any op and fill its parameters using the injections mechanism).
from imagej-ops.
Thanks for the explanation, @dietzc. Personally I am fine with the new operation also being called "map" here unless anyone feels strongly otherwise. I will work on implementing this op later, after our other urgent priorities have been resolved.
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.