I managed to have a look at your models. Here is what worked for me:
-
Import both the vtk models into a new instance of slicer
-
Go to the models module and change the colours of the models (in this case I made tumor 1 blue and tumor 2 green). I also made them translucent and turned on slice display visibility. (this isn’t necessary for volume calculation just good to visually check).
-
Go to the segmentations module and import both the models into a new segmentation node using the Export/import models and labelmaps.
-
Go to the segment editor and notice that all the effects are greyed out until you select a master volume. Instead of selecting a master volume click the small “Specify geometry button” (see pic below). In the drop down box select “Segmentation” (should be the lowest option). In my case my segmentation labelmap had voxel sizes of 0.08 x 0.08 x 0.08mm which is good because you need small voxel sizes to accurately represent a small volume like this one. Then click “OK” and slicer will generate a dummy volume to use as a master volume which also has 0.08 x 0.08 x 0.08 voxel size.
-
Then I selected tumor 1 from the list and clicked the “Logical Operators” as the effect. Change the operation to “Intersect” and select tumor 2 in the “Intersect with segment” box. Then click “Apply”. The tumor 1 segment will then be trimmed down to the area which intersects the other tumor 2.
-
I deleted tumor 2 as this is now longer needed for the calculation. I renamed the tumor 1 segment “Shared volume” and changed the colour to red. With the outlines of the models visible in the slice views you can now easily see that the “Shared Volume” is in the area where the models intersect.
-
Go to the Segment Statistics module and make the “Segmentation” node the input and press “Apply”
This shows the shared volume is 3222.88 mm^3 or 3.22 cm^3.
I also converted the vtk files to STL and uploaded them in blender and used the boolean effect to generate a model of the shared volume. The result from blender was 3222.95 mm^2, so a very close agreement.
Probably what when wrong for you was that you used a clinical scan as a reference volume (my fault as that is what I said to do) which typically have large voxel sizes around 0.5 x 0.5 x 0.5 for a fine slice CT scan (they will be even bigger for an MRI) this forces the segmentation to also have a large voxel size which will not be able to accurately represent a small volume like this one.
I also tried Segment Comparison which gave the volume of tumor 1 as 3.94 cm^2 and tumour 2 as 4.42 cm^2 but I couldn’t work out how to calculate the shared volume as I don’t understand what all the percentages mean in the Dice Coefficient area. @lassoan could you advise on this? Also, why are there two volume outputs in the Segment Statistics module? Volume (1) seems to be in closer agreement with Blender in this case.