[ITK-users] Kmeans, Otsu on SPECT image
Cyril Jaudet <[email protected]> Thu, 28 Jun 2018 17:11:20 +0200
| Newsgroups | gmane.comp.lib.itk.user |
|---|---|
| Message-ID | <CAMgcNHzmKAFVTANNTfg8My+ZDHvmCbm8rU0=wjEjV1AorpiPqQ@mail.gmail.com> |
--===============1550814704==
Content-Type: multipart/alternative; boundary="000000000000d48f51056fb52460"
--000000000000d48f51056fb52460
Content-Type: text/plain; charset="UTF-8"
Hello,
i want to use Otsu and Kmeans method to segment several lesion on SPECT
image.
The threshold method is apply on different lesion independently.
I write it directly in 3DSlicer.
The code for Otsu is working: (write in simpleITK)
#######################
label_masked=ThB.Execute(label_PET, 1, 1 ,1, 0) #
labelOtsu_parlesion=Otsu.Execute(imagePET,label_masked, 0, 1, 64, True,
1)
LabelsOtsu=labelOtsu_parlesion
for label in range(2, len(Nlabels)+1):
label_masked=ThB.Execute(label_PET, label, label ,label, 0) #
labelOtsu_parlesion=Otsu.Execute(imagePET,label_masked, 0, label,
64, True, label)
LabelsOtsu=Add.Execute(LabelsOtsu,labelOtsu_parlesion)
su.PushToSlicer(LabelsOtsu, 'Otsu_intermediate', 2 )
################################
I try with Kmeans but i didn't suceed to use a mask directly and is there
any kmeans++ avaible?
################################################kmeans####################
label_masked=ThB.Execute(dilatelabelOtsu, 1, 1 ,1, 0) #
Image_masked=Mask.Execute(imagePET,label_masked )
labelKmeans_parlesion=Kmeans.Execute(Image_masked)
Imagefinal2=labelKmeans_parlesion
for label in range(2, len(Nlabels)+1):
print label
label_masked=ThB.Execute(dilatelabelOtsu, label, label ,label, 0) #
Image_masked=Mask.Execute(imagePET,label_masked )
labelKmeans_parlesion=Kmeans.Execute(Image_masked)
Imagefinal2=Add.Execute(Imagefinal,labelKmeans_parlesion)
su.PushToSlicer(Imagefinal2, 'Kmeans_final', 2 )
##########################################################
Also if you have idea/experience for denoising SPECT image;)
Thank you,
Cyril Jaudet, Phd
--000000000000d48f51056fb52460
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Hello, </div><div>i want to use Otsu and Kmeans metho=
d to segment several=C2=A0lesion on SPECT image.</div><div>The threshold me=
thod is apply on different lesion independently.</div><div>I write it direc=
tly in 3DSlicer.</div><div><br></div><div>The code for Otsu is working: (wr=
ite in simpleITK)</div><div>#######################</div><div>label_masked=
=3DThB.Execute(label_PET, 1, 1 ,1, 0) #=C2=A0 <br>=C2=A0=C2=A0=C2=A0 labelO=
tsu_parlesion=3DOtsu.Execute(imagePET,label_masked, 0, 1, 64, True, 1)<br>=
=C2=A0=C2=A0=C2=A0 LabelsOtsu=3DlabelOtsu_parlesion<br>=C2=A0=C2=A0=C2=A0 f=
or label in range(2, len(Nlabels)+1):<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 label_masked=3DThB.Execute(label_PET, label, label ,label, 0) #<b=
r>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 labelOtsu_parlesion=3DOtsu.Exe=
cute(imagePET,label_masked, 0, label, 64, True, label)<br>=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 LabelsOtsu=3DAdd.Execute(LabelsOtsu,labelOtsu_p=
arlesion)=C2=A0=C2=A0 <br>=C2=A0=C2=A0=C2=A0 su.PushToSlicer(LabelsOtsu, &#=
39;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####################<b=
r>=C2=A0=C2=A0=C2=A0 label_masked=3DThB.Execute(dilatelabelOtsu, 1, 1 ,1, 0=
) #<br>=C2=A0=C2=A0=C2=A0 Image_masked=3DMask.Execute(imagePET,label_masked=
)<br>=C2=A0=C2=A0=C2=A0 labelKmeans_parlesion=3DKmeans.Execute(Image_maske=
d)<br>=C2=A0=C2=A0=C2=A0 Imagefinal2=3DlabelKmeans_parlesion<br>=C2=A0=C2=
=A0=C2=A0 for label in range(2, len(Nlabels)+1):<br>=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 print label<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 label_masked=3DThB.Execute(dilatelabelOtsu, label, label ,label, 0) =
#<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Image_masked=3DMask.Execute=
(imagePET,label_masked )<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 labe=
lKmeans_parlesion=3DKmeans.Execute(Image_masked)<br>=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 Imagefinal2=3DAdd.Execute(Imagefinal,labelKmeans_parl=
esion)=C2=A0=C2=A0 <br>=C2=A0=C2=A0=C2=A0 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=C2=A0</div></div>
--000000000000d48f51056fb52460--
--===============1550814704==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there!
________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
https://itk.org/mailman/listinfo/insight-users
--===============1550814704==--