OHIF / ohif-step

Implements GPU based compute functionality from pieper/step into a reusable npm package.
MIT License
1 stars 2 forks source link

GrowCutGenerator does not work for a single slice. #5

Open JamesAPetts opened 4 years ago

JamesAPetts commented 4 years ago

I've observed that GrowCut does not work for a single slice, the labelmap/strengthmaps do not change between iterations. I assume this is because the center is [x/2,y/2,0], and the latter coordinate means that no fragment in the shader pases this block:?

https://github.com/OHIF/ohif-step/blob/93e358445a514e30b2d327324f6a1d7f38e15000/src/GrowCutGenerator.js#L87

It must be a flooring issue, but I would expect the value in the shader to be 0.5 in the z direction for all voxels in the single frame sized texture any ideas @pieper?

Do we need a special 2D routine to deal with this edge case? This is likely true for the core step library also.

pieper commented 4 years ago

I would have thought that loop would still work - the line you linked would just continue for the out-of-plane neighbors but the rest ought to work.

Maybe it's this line - the size might end up as (columns, rows, 0) but it should be (columns, rows, 1)

https://github.com/OHIF/ohif-step/blob/93e358445a514e30b2d327324f6a1d7f38e15000/src/GrowCutGenerator.js#L61

JamesAPetts commented 4 years ago

Good spot, that could be it.