-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
There are a couple of concerns with the current Op Transformation system:
- It is not very extensible. We are not really able to define multiple ways to perform a transformation, which could be useful. Take, for example, the
Function->Computertransformation, which requires acreateOp to create the output to pass to theComputer. There could be multiple viable ways to create that input based on the arguments to the op, however we do not support having two parameters. - Making a new transformer is complicated and the current transformation system is confusing and cluttered.
- There is no priority hierarchy for Op Transformations. We do ensure that the smallest possible chain of transformations is used, however there is no way to say that one transformation should be used over another.
For these reasons I propose we revamp the transformation system into a collection of transformation Ops. These ops will all be named adapt (so that we do not confuse this namespace with the transform namespace of imagej-ops), and must all be Functions outputting the requested op and taking some other Op type as input. This will allow:
- Extensibility: if someone wants to add a new transformation it is as easy as adding a new Op
- Priority: Ops already have priority, so it is easy to sort the available
adaptOps by priority. - Op chaining: Transformations can have an
OpDependency - Organization
imagejan and wiedenm
Metadata
Metadata
Assignees
Labels
No labels