Cut 3d surface from the whole with accuracy

hello slicer addicts
i wanna cut the 1st lumbar vertebra out of sacrum with accuracy.
with Scissors i don’t think can do it right since i will cut out by mistake some other parts during the process, is there a way to isolate that vertebra inside segment editor,
what i have in mind using paint & grow from seeds on that vertebra but i don’t know how i approach it right ?

1 Like

I don’t think you will have good results working directly on the segment, rather use it as a mask to execute grow from seeds as in the method explained here Suggestion: Quicker scissor tool and Seed growing to split a segment in two parts
You basically need to

  1. draw boundaries outside that segment ( to increase growfromseeds range (let’s call it GFS) )
  2. use masking options editable = inside that segment then draw the seeds in two separate new segments,
  3. then hide the original segment (so GFS does not see it as a seed) and execute GFS with editable = inside the hidden segment (GFS will then use it as a frame).
1 Like

thx for reply .
but why when i grow from seeds it does not include the whole vertebra that i already painted its seeds on the new layer with editable = inside the the hidden layer segment which has the full threshold pre-defined of the whole bones
why do i need an extra layer editable = everywhere ?

first layer include include the whole bones threshold
11jpg ![12|690x329]

5th vertebra layer that i used to paint the seed over the 5th vertebra, and when i grow its seeds it dones not include the vertebra at all it just gives me what i already painted in the 3d view

12

Hi, grow from seeds will not have an extent over the whole segment by default, that is why you either paint the limits you want it to have on a dummy segment (outside the segment you want to split, it will not be taken as a seed since its outside the editable area but will still define the boundaries of GFS)
I see you only have one seeding segment, so it is normal for GFS to not work, you need to place seeds in the vertebra AND make another segment with seeds in the sacrum AND a segment outside the main one for limits.
In total these are your 4 segments:

a) original segment (The only hidden one)
b) seeds in the sacrum (painted with editable = inside original segment) (Visible)
c) seeds in the vertebra (painted with editable = inside original segment) (Visible)
d) seeds at the boundaries (top bottom left right front back) in a segment FULLY outside the original (you can use editable=everywhere or outside other segments) (Visible)

–> Then launch GFS with editable=inside original segment

Nb: you can bypass making d) by placing the seeds in b) and c) such as they cover the boundaries of the segment if that’s more convenient for you

1 Like

@Amine
thx Amine
successfully i managed to separate parts,
there is one issue
femur is blue paint layer, i keep paint over the femur where some parts of the femur ball overlap with pelvis (green paint), so i keep paint over the femur on its own layer with blue and it does not respond and color stays the same no matter what kind of brush i use i tried them all and in 3d view as well ( the green that belongs to the pelvis does not change over the femur) any idea what causes this issue
note: i use shift to move the cross hair over the part that i want to repaint and i paint editable area = the hidden layer which is the original segment that has the threshold of the bones
Screen-2019-09-15_01-38-14

Hi, check your masking options to be editable= inside the original segment and overwrite= visible segments (so that the painted parts get substracted from the excessive segment). Also use a spheric brush instead of a flat one

@Amine
was wondering if ct slices thickness 1.mm, compared to 2mm, 3 etc would improve the precision of the images for more accurate & easier segmentation ?
where can i find inside 3dslicer the thickness of the ct slices i’m working with ? i find that the low res ct images very hard to define the gabes between bones like between the vertebras , between femur and pelvis etc
from cancerimagingarchive
if there is other open ct database could you link me the address , i need the whole body CT scan or complete parts with high res like chest , pelvis to foot , skull etc

Yes smaller slice thickness are better for making 3D volumes from the images as you end up with a higher resolution volume. Most scan protocols for 3D bio-modelling state a slice thickness of around 0.5mm-1.5mm. It starts getting quite difficult to make good models when the slice thickness gets up around 3mm.

When you load a CT DICOM dataset into slicer you can press the ‘metadata’ button next to the ‘Load’ button in the DICOM module window. This will show you the DICOM header information. One of the entries will show you the slice thickness and slice spacing of the CT dataset.

After you load the CT image set it automatically creates a volume from the images. You can go into the volumes module and expand ‘Volume information’. The image spacing entries tell you the dimensions of the voxels which make up your volume. If you have loaded axial images then the first two entries will be the size of the image pixels and the third entry will be the spacing between the images (just don’t change these values or it will distort your volume).

Here are some good instructions to get the most out of low resolution (thick slice) scans.

1 Like

@Amine
followd your solution to paint outside the boundary
i get error msg because of the painted area outside the boundary of the area of interest

i want to make a 3d volume out of the pelvic area sacrum not included,
1-1st layer bone with full bone threshold to include bones only _ made it hidden
2- sec layer (pelvis ) Visible, so i painted over the pelvis bone inside its layer , editable inside= bone
3- 3rd layer(outside boundary) visible, i painted outside the pelvis area as a boundary outside the pelvis for the area of bones that i want to include to a separate layer
what i was expecting is to get each layer separated as a 3d volume
do i need to create a layer and paint on the air or over soft tissue which outside the all bones ?
execute initialize grow from seeds i get error msg
Screen-2019-09-20_08-39-03

4th layer soft tissue editable =everywhere _ visable
painting outside the bones over the soft tissue as a boundary for the whole volume still giving me the same error
i get different result if i press initialize grow from seeds if i have the editable area inside a different layer than bone in masking which i see is irrelevant to get a different result
Screen-2019-09-20_08-39-03

Your segments are correct, just a note for the 4th with boundaries it doesent have to be soft tissue, just a point in each direction is enough as long as its completely outside the original segment.

The error that is raised however, has nothing to do with your segmentation technique as far as i can guess, someone else could provide a proper explanation.

@Amine
let me explain what im trying to do, first method worked ok
now i have skeleton and i only want segmentation of its spine
the steps i follow
0- made a layer with the whole bones threshold
1- i painted seeds over the whole spine on a new layer editable = the original
2- i painted 4 dot’s up right down left outside the original threshold editable = everywhere
so what i expect when i use grow from seeds it will show me a 3d volume of the spine only over which i painted the seeds. because it is impossible to paint the whole spine with accuracy if no growing from seeds is available
Note : before i press initialize of growing seeds editable=all segments - overwrite = all segments
is it necessary to paint seeds on everything else except the spine in a different layer beside the step 2?

i find the segmentation options (layers - editable area - overwrite ) are so confusing , and sometimes i find it not follow the logic: would be better if overwrite go beside the layer name or above the layers menu since it has nothing to do with masking

The method i described is for separing a segment into two with help of grow from seeds, so yes you need to define both seeds for it to work (and before initialize you have to chose edit=inside the original not everywhere)

yes the problem was from edit=all segments , it should be editable =inside the original
i find it strange why the selected layer in editable area which involves the masking has anything to do with initialize to growing from seeds :cold_sweat:

It does exactly that, masking, prevents the effect from running outside that segment you defined, while not being considered a seed since it’s hidden

1 Like

Hi - the error message in dialog in the screen shot above says “bad allocation” which means your computer doesn’t have enough memory to perform these operations. So you could either crop the volume first, but maybe the most generally useful thing would be to get more memory or use a bigger computer. Otherwise it sounds like you are on the right track.

Hope that helps,
Steve

1 Like

@pieper
yep it was a low memory problem thx
solution was to close all other opened programs to free some memory
and restart slicer without changing anything inside the scene
and re initializing the grow from seeds and it works this time

1 Like

Note that instead of closing other applications, you can increase the virtual memory size in your computer (on Windows, edit virtual memory size in system settings; on Mac, ensure you have many gigabytes of free disk space).

1 Like