Ticket #1885 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

Create an AutoscaleService

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: imagej2-b7-ndim-data
Component: Core Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #20

Description

Working with large datasets points out the need for autoscale computations to sometimes only calculate on the current plane of the data rather than the whole dataset. There are various places in the code where we call ComputeMinMax and a couple places where we simply loop over pixels using cursors. We should have all of these utilize a AutoscaleService.

The AutoscaleService could be modeled after the ThresholdService. There would be AutoscaleMethods that are autodiscovered. ANd the service would have at least one method called defaultMethod() that returns a method that computes min/max for complete IterableInterval given. It would be API users's job (maybe) to pass the interval of interest (one plane, whole image).

We could extend the service to not just find methods but also run the one found.

To fix the cell img slow autoscale problem we pass only the current plane to the autoscaleService. ALternatively the default autoscale method could work on single plane only. (I like 1st approach better as you can separate calculation algorithms from calculation regions).

There are currently two entry points to this mini-project: DefaultDatsetView::autoscale() and the brightness contrast plugin. Note: DefaultDatasetView::autoscale() should be deprecated and internally it should call autoscale service.

Change History

comment:1 Changed 6 years ago by bdezonia

With a number of commits starting 5-23-13 and ending 5-28-13 this code is now in place on the scifio-cells branch of IJ2.

Last edited 6 years ago by bdezonia (previous) (diff)

comment:2 Changed 6 years ago by bdezonia

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

Merged. Closing.

Note: See TracTickets for help on using tickets.