Probe Volume with Model Question

Hi everyone - I am struggling to understand what the probe volume with model module in Slicer does. When probing a model with a volume that has scalar values assigned to its entire volume, are the values ultimately seen on the model surface a representation of just the corresponding voxels that intersect with the volume at those positions or does it also take into account values on the interior of the volume i.e. beneath the surface as well when estimating what to show on the surface of the model?

I am not a coder so didn’t really understand what the source code does so thought I’d ask here. Thank you!

It just looks up the pixel value at the location that corresponds with the location of each vertex of the model. You can then manipulate the view of that information with the scalars feature of the Models module.

Thank you! I have a follow up question. I am trying to map T2* values from an MRI onto a model I created from a segmentation but if the module only generates surface values, then I am not sure of what utility that would be as I want data even from inside the volume. Is there a way to generate that?

As an aside, how are only surface values useful in other cases when using probe volume with model? I assumed you would need the volume’s internal data as well. Apologies if these are naive questions.

I’m not sure what you are trying to accomplish, but if you want a continuum mesh, you can use the SegmentMesher extension and then when you probe you will get the internal vertices too.

The module can be used for something like sampling an fMRI map on the surface of a subcortical structure or similar.

Thank you for that suggestion! I just tried using that extension with Cleaver but it unfortunately does not fully capture the details of my segmentation. Tetgen gives me an error saying command returns non-zero status.

I am working with a meniscus segmentation so need it to be fully replicated. Is that not possible with this tool? And is there an alternate way of completing this task after which I could import the file back as a solid model in Slicer to probe it with the volume?

Thanks!

yes, cleaver and tetgen often don’t behave well. I tend to write python code to generate meshes using vtk which works well but there’s nothing packaged up for use.

There’s some experimental code here:

Thank you for sharing this! Unfortunately I have no experience with coding. Is there something in the experimental codes that I could plug and play into Slicer’s python console to generate the mesh? Or any other way I could generate it (even if outside of Slicer)?

Meshing is a big complex topic, but gmsh is popular and you can easily move data back and forth once you get the hang of it.

Got it, I’ll try that. Thank you for your help!

Hi pieper. I was able to generate an accurate volumetric mesh from gmsh, thank you!

My ultimate goal is to 3d print this but it seems like there is no way to convert the volumetric vtk file to a volumetric printable format. Am I missing something or is there any other way to do this? Like using the volume directly to convert it to a printable format or something?

It depends on what your printer supports. Mostly people use stl files for this, but they only provide surface structure. More modern printers can accept bitmaps and the SlicerFab extension can help with that, but it’s still not a common process so that extension is not really maintained. I’m not sure it’s currently working.

I think the printer can support voxel level printing, I just can’t find a way to convert my volumetric mesh in 3D Slicer to a printable format that would contain internal scalar values. Do you know if any graphics or CAD softwares could do the conversion?

No, I don’t know of anything off the shelf that can do that. But everything you need is in Slicer if you just do some scripting something like what is done in SlicerFab.

1 Like

Got it, thanks so much!