This addresses a number of issues that lead to #6.
The offending segmentation had duplicate, adjacent points. This lead to the creation of a malformed spline between these points that went out of the volume's FOV. The VC GUI now filters out adjacent, duplicate points when creating new segmentations.
The uncaught exception being thrown was in Volume::reslice because the center for a reslice was outside of the volume bounds. This shouldn't really matter for reslicing. Our intensity interpolation handles out-of-bounds volume access (returns 0), so reslicing out there should just be empty. Removed the throw for this exception.
The VC segmentation worker thread had no exception handling. We now catch and gracefully handle std::exception rather than just crashing.
Cleaned up error reporting to use vc::Logger so at least console output is consistent.
This addresses a number of issues that lead to #6.
Volume::reslice
because the center for a reslice was outside of the volume bounds. This shouldn't really matter for reslicing. Our intensity interpolation handles out-of-bounds volume access (returns 0), so reslicing out there should just be empty. Removed thethrow
for this exception.std::exception
rather than just crashing.vc::Logger
so at least console output is consistent.Fixes #6