imagej / imagej-ops

ImageJ Ops: "Write once, run anywhere" image processing
https://imagej.net/libs/imagej-ops
BSD 2-Clause "Simplified" License
88 stars 42 forks source link

Consider keeping pixel-copying versions of ops in TransformNamespace #434

Open stelfrich opened 8 years ago

stelfrich commented 8 years ago

@ctrueden in a discussion about #433:

We can debate whether to keep a pixel-copying version as transform.scale still.

Most of the ops in the TransformNamespace are nowadays wrappers for Views.*. Ops.Transform.Scale implemented a scaling operation that copied pixel-wise. With chaining it is possible to get a copy of the output of any Views-based transform anyway. But should we consider exposing convenience methods for Input > Transform > Copy = Output?

ctrueden commented 8 years ago

The general idea is for the burnIn op to solve this: you can call burnIn and it will "copy as needed". The View marker interface, and its proper propagation, is a necessity for this to work well.

stelfrich commented 8 years ago

Thanks for the heads up @ctrueden. I wasn't really aware of the gory details of the topic (btw thanks for the great recap).

The View marker interface, and its proper propagation, is a necessity for this to work well.

You are talking about the output of an op implementing the View interface, right?

ctrueden commented 8 years ago

You are talking about the output of an op implementing the View interface, right?

Correct. Since your new scaleView op returns the result of a Views method call, this should already be the case, fortunately.