jni / zarpaint

Paint segmentations directly to on-disk/remote zarr arrays
BSD 3-Clause "New" or "Revised" License
14 stars 8 forks source link

Slice interpolation #38

Open GenevieveBuckley opened 2 years ago

GenevieveBuckley commented 2 years ago

This issue is intended as a record of some of our offline & email discussions.

We've discussed three different types of approaches:

  1. Shape based slice interpolation
  2. Convex hulls
  3. Contour slice interpolation

1. Shape based slice interpolation

Resources

Work done

Problems

Plan

Continue figuring out the user interface. This will be necessary regardless of the interpolation algorithm used.

2. Convex hulls

Resources

Work done

Problems

Plan

Discontinue the convex hull approach.

3. Contour slice interpolation

Resources:

Plan

Try contour slice interpolation in place of the shape based euclidean distance transform method above. See if the results are nicer on a broader range of datasets (at first glance, it certainly seems like it)

GenevieveBuckley commented 2 years ago

@jni and @jamesyan-git - the content about the napari-nd-annotator is new, we haven't talked about that yet. I think it would be useful to look at, even if there are some problems with the performance (see here) and documentation (although I did write up some notes here)

bauerdavid commented 2 years ago

@GenevieveBuckley The performance drop happens regardless of the interpolation part, it is rather related to UI problems. For a single object, interpolating ~20-30 slices is done in ~0.01s (with 300 contour points), so theoretically up to 100 similar-sized objects it would run under 1s (although I assume this could be further optimized).

jni commented 2 years ago

The contour stuff in nd-annotator is so great! Makes me feel rather validated, thanks @bauerdavid! 😂

GenevieveBuckley commented 1 year ago

Link to https://github.com/jni/zarpaint/pull/32