Ticket #744 (closed defect: fixed)

Opened 9 years ago

Last modified 7 years ago

Verify Imglib OPS function definitions & inputs

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: imagej2-b6-legacy
Component: ImgLib2 OPS Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1571


A goodly number of operations were added to OPS recently - both in the operation.complex and operation.real packages. There are a couple things that need to be done yet.

1) we need to verify (especially in the complex cases) that the function definitions are correct. This is easily done via the MathWorld website.

2) some functions can fail with divide by zero errors. we need to update their compute() methods to check their input values for validity. Mathworld can be of help here but also the definitions themselves show divide by zero potentialities.

Change History

comment:1 Changed 9 years ago by bdezonia

Recently I went through all the Real and Complex operations and tagged their source code with references to documentation confirming definitions. Where the code was wrong I fixed it.

For performance reasons I have decided against wholesale input checking. A divide by zero error message is not horrible (as opposed to a "archosh() : bad input" message). Also I compared to Matlab and it has little error checking for problem cases.

One place where input checking would be good are cases where operations that invert some other function's value could result in a divide by zero. For instance arccsc(x) == 1 / arcsin(x) (I think). However if the denominator = 0 then we can reason what the function value should be.

comment:2 Changed 9 years ago by bdezonia

  • Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2

comment:3 Changed 8 years ago by bdezonia

Java can handle divide by 0.0 just fine. But we may want to reason about whether there are output values that make sense (i.e. some limit as input approaches 0 or approaches other values that result in divide by 0). Look at this as time allows.

comment:4 Changed 8 years ago by curtis

  • Component changed from imglib to imglib-ops

comment:5 Changed 8 years ago by bdezonia

  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:6 Changed 8 years ago by bdezonia

  • Blocking 1343 added

comment:7 Changed 8 years ago by bdezonia

  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta5

comment:8 Changed 7 years ago by bdezonia

  • Status changed from new to closed
  • Resolution set to fixed

I don't think we need to do this anymore. The existing operations are documented and the output values follow convention. The rest is vague issues.

comment:9 Changed 7 years ago by bdezonia

  • Blocking 1571 added; 1343 removed

comment:10 Changed 7 years ago by bdezonia

  • Milestone changed from imagej-2.0.0-beta7 to imagej-2.0.0-beta6
Note: See TracTickets for help on using tickets.