Open jalevine opened 10 years ago
I would also like to see label mask input. I currently use BioMesh (which accepts a single label mask) to generate my indicator functions. It would be nice to have Cleaver all of the initial Biomesh features instead, that is, accept the label mask, create tight surfaces, and generate an indicator function that could be used as input. Biomesh currently changes the coordinate space and so my output for Cleaver has to be re-aligned. Granted, I don't have label masks that get above 10 - 12 materials.
Cleaver2 now links with seg3d/biomesh tools to handle these cases. It also smooths the output to avoid staircasing.
While cleaver currently loads a set of images, one for each material, multiple people have requested the ability to load a single image which is a set of integer labels and cleave from there.
There are pros/cons to this. Label maps are fairly common segmentation outputs, so lots of people have them. Structurally, they efficiently encode all materials in one image. Cleaver currently allocates a separate image for each label which restricts the number of materials we can handle to around 8, depending on memory. Label maps often have hundreds of materials in them. Such a feature would need to redesign the structure that stores the materials.
However, since label maps are integers, cleaving them directly would lead to stair-cased artifacts. The only meaningful location for cuts would be at an edge midpoint. Users could complain about this. So it would need to be advertised as matching the topology of the label map, but not necessarily producing smooth geometry. Still, some people have this data handy and don't necessarily want to do the smoothing.