<div dir="ltr"><div>Hello, </div><div>i want to use Otsu and Kmeans method to segment several lesion on SPECT image.</div><div>The threshold method is apply on different lesion independently.</div><div>I write it directly in 3DSlicer.</div><div><br></div><div>The code for Otsu is working: (write in simpleITK)</div><div>#######################</div><div>label_masked=ThB.Execute(label_PET, 1, 1 ,1, 0) #  <br>    labelOtsu_parlesion=Otsu.Execute(imagePET,label_masked, 0, 1, 64, True, 1)<br>    LabelsOtsu=labelOtsu_parlesion<br>    for label in range(2, len(Nlabels)+1):<br>        label_masked=ThB.Execute(label_PET, label, label ,label, 0) #<br>        labelOtsu_parlesion=Otsu.Execute(imagePET,label_masked, 0, label, 64, True, label)<br>        LabelsOtsu=Add.Execute(LabelsOtsu,labelOtsu_parlesion)   <br>    su.PushToSlicer(LabelsOtsu, 'Otsu_intermediate', 2 )</div><div>################################</div><div><br></div><div>I try with Kmeans but i didn't suceed to use a mask directly and is there any kmeans++ avaible?</div><div><br></div><div>################################################kmeans####################<br>    label_masked=ThB.Execute(dilatelabelOtsu, 1, 1 ,1, 0) #<br>    Image_masked=Mask.Execute(imagePET,label_masked )<br>    labelKmeans_parlesion=Kmeans.Execute(Image_masked)<br>    Imagefinal2=labelKmeans_parlesion<br>    for label in range(2, len(Nlabels)+1):<br>        print label<br>        label_masked=ThB.Execute(dilatelabelOtsu, label, label ,label, 0) #<br>        Image_masked=Mask.Execute(imagePET,label_masked )<br>        labelKmeans_parlesion=Kmeans.Execute(Image_masked)<br>        Imagefinal2=Add.Execute(Imagefinal,labelKmeans_parlesion)   <br>    su.PushToSlicer(Imagefinal2, 'Kmeans_final', 2 )</div><div>##########################################################</div><div>Also if you have idea/experience for denoising SPECT image;)</div><div><br></div><div>Thank you, </div><div>Cyril Jaudet, Phd </div></div>