Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This Op provides an
Op
version of the ImageJ Core Plugin created by Barry Dezonia.Below is a demo of the new
Shadows
Op (middle) run on this image (left), taken from imagej.net, alongside the output of the same image run through the Plugin (right).Points of Discussion:
Op
generates its Shadows kernel through the used of an angleParameter
, allowing for a singleOp
as opposed to the eight differentPlugin
s that already exist. The use of an angle parameter also allows the user to generate shadows at any desired angle instead of being limited to the eight predefined angles. The only downside to this is that in order to keep the algorithm simple theOp
uses sine and cosine values to generate the kernel which differs from the linear kernel of the olderPlugin
s, resulting in differing outputs (though in most cases not visually distinguishable). Is it okay that theOp
differ from thePlugin
it adapts in order to increase its flexibility?TODO:
Op
. The above point should be decided on before a test is written. If we decide that the difference in output should be allowed then a simple Regression test can be created, otherwise we could test theOp
based on the output of thePlugin
if we deem it necessary to make the output exactly the same.