NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #145 (closed task: fixed)

Opened 2010-07-29T16:09:58-05:00

Last modified 2012-02-24T14:17:28-06:00

Assist in devleopment of ImgLibProcessor

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: biweekly-2010: Sep-07 to Sep-17
Component: Core Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1014

Description (last modified by bdezonia)


Change History

comment:1 Changed 2010-07-29T16:10:09-05:00 by bdezonia

  • Status changed from new to assigned

comment:2 Changed 2010-07-29T16:10:11-05:00 by bdezonia

  • Status changed from assigned to accepted

comment:3 Changed 2010-08-02T17:30:39-05:00 by bdezonia

Worked on flipVertical(), snapshot routines, and applyTable().

comment:4 Changed 2010-08-03T17:30:57-05:00 by bdezonia

Worked on Snapshot class code
Began integration into imglibProcessor

comment:5 Changed 2010-08-09T11:24:04-05:00 by bdezonia

Further work on method implementation. Creation of ImgLibProcessorTest. Debugging of existing methods. Implementation of some test methods (doing TDD at this point).

comment:6 Changed 2010-08-16T10:18:42-05:00 by bdezonia

Hatched multiple support and test classes. Continued implementation. At the moment testing versus ByteProcessor. Approximately 60 methods done and testing okay. Fourteen remaining methods versus ByteProcessor. Float/Short Processor support will probably involve changes to another 15 methods.

comment:7 Changed 2010-08-26T17:26:07-05:00 by bdezonia

All methods for ImageProcessor compatibility for type byte in place and passing all tests. Much test code developed. Multiple refactorings done.

Currently extending the tests to exercise short type data and fixing ImgLibProcessor as needed along the way. Then will need to do the same for float data.

ImgLibProcessor will need additional refactoring when byte/short/float data all passing tests as older code just pasted in and modified from ImageJ's processor classes.

comment:8 Changed 2010-09-02T10:44:54-05:00 by bdezonia

All methods implemented for Byte, Short, and Float processor compatibility. The Float code is not exactly the same but all points within a 0.001 tolerance. The reason it differs is because for generality we calculate every FloatProc method in double precision and IJ was using floats in a few cases. If we need exact same results then we will need to break out special case code for FloatType in ImgLibProcessor. Loses generality and results in code bloat.

The implementation of the methods involved a lot of cutting and pasting from the existing processors and then applying modifications. The code needs commenting (especially the classes that have resulted from some refactoring) and additional refactoring needs to take place.

comment:9 Changed 2010-09-07T10:26:26-05:00 by bdezonia

  • Description modified

comment:10 Changed 2010-09-07T10:27:23-05:00 by bdezonia

  • Description modified

Some more refactoring done for copyBits(). It would be nice if we could refactor away the special case code for concolve3x3(). It would be good to refactor code so that we've generalized the various filters.

comment:11 Changed 2010-09-08T13:11:02-05:00 by bdezonia

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

Will start documenting steps as separate tickets from here on out.

comment:12 Changed 2012-02-24T13:46:46-06:00 by curtis

  • Blocking 1010 added

comment:13 Changed 2012-02-24T14:17:28-06:00 by curtis

  • Blocking 1014 added; 1010 removed