From duchesne@ieee.org Thu Feb 20 15:01:12 2003 Received: from ieee.org (romeo [132.206.178.116]) by shadow.bic.mni.mcgill.ca (8.11.6/8.11.6) with ESMTP id h1KK1Bp6790363; Thu, 20 Feb 2003 15:01:11 -0500 (EST) Sender: duchesne@bic.mni.mcgill.ca Message-ID: <3E55339B.D3BBFEC6@ieee.org> Date: Thu, 20 Feb 2003 14:59:23 -0500 From: Simon DUCHESNE Reply-To: duchesne@ieee.org Organization: Brain Imaging Center X-Mailer: Mozilla 4.79 [en] (X11; U; Linux 2.4.18-3smp i686) X-Accept-Language: en MIME-Version: 1.0 To: Madeleine Fortin CC: kate@bic.mni.mcgill.ca Subject: Re: Appearance-based segmentation References: <1045765986.3e551f62e12dc@www.courrier.umontreal.ca> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 8948 Lines: 186 Rebonjour Madeleine; ne nous sommes pas rencontre quelque part (quel beau debut de reponse) ? Le monde est petit, et ceux qui travaillent a la segmentation de l'hippocampe a Mtl, il n'y en a pas beaucoup... M'enfin. Un jour, surement, nous nous rencontrerons si ce n'est deja fait. Attends un instant: ce n'etait pas dans le cours de CNS ??? Je me sens flatte d'avoir ete lu :-) considerant que tu es la premiere personne a me communiquer a ce sujet. C'etait mon premier article. Un des commentaires d'un des reviseurs externes etait "reads like a thesis", which, well, is pretty close to the truth: c'etait ma these de M.Sc. que j'ai comprime d'un grand coup en 16 pages pour NeuroImage. Quand je l'ai recu imprime, ca m'a fait un choc: quelle merde ! Ceci dit, la reponse courte a ta question est: oui, ma technique peut etre utilisee pour faire le travail que tu recherches. Le seul probleme, c'est que la sus-dite technique est encore un echafaudage de lignes de code plus ou moins debuggees que je suis encore seul a comprendre (je suis donc seul a en retirer la gloire et l'argent, mais jusqu'a present, il n'y a pas eu beaucoup de l'un ni de l'autre). Je dirais egalement que les resultats que j'ai obtenus sont similaires a ceux de ANIMAL, pas meilleurs. Certes, la recette est plus souple, il y a d'autres avantages qui sont hors du domaine de la segmentation (si tu veux lire d'autres trucs que j'ai ecrit, et devenir ma fan #1, tu peux toujours lire mes aneries a www.bic.mni.mcgill.ca/~duchesne; ca peut etre interessant, surtout dependamment de quelle pathologie tu etudies; je travaille presentement sur des trucs de classification en epilepsie, c'est charmant comme tout et ca marche assez bien - meilleur que ma segmentation !). Ma recette, comme ANIMAL, ne fait que calculer un champ de deformation qui peut warper une image source a une image cible. Le probleme de ma recette, comme ANIMAL, est la dependance ultime a un atlas qui ait du bon sens. Si l'atlas est mauvais, alors la segmentation sera mauvaise. Il y a plusieurs moyen d'ameliorer le travail que vous avez fait avec ANIMAL. Meme si le pipeline que vous avez est intrinsequement correct, on peut l'ameliorer. Les premieres etapes demeurent les memes: > 1) Alignement lineaire (mritotal) > 2) Correction pour les inhomogeneites du champ magnetique (nu_correct) C'est apres que ca change. Je vois dans votre script que vous avez pris comme cible le icbm_avg_152_t1_tal_lin_symmetric; c'est un bon choix, meilleur selon moi que le MNI305AVG. Je ferais tout de suite le resampling selon la grid 1.00mm de ICBM, soit la commande batch -Q medium -S -k -o 3Resample.log 'mincresample -like /avgbrain/brain/images/icbm_template_1.00mm.mnc subject_native_mri_nuc.mnc subject_icbm_1.00mm.mnc' Tu remarqueras que j'ai elimine la mention "bullcalf" pour pas que le batch du systeme se limite a une seule machine. Bullcalf devient loade tres vite, et donc ralentit; alors qu'il y en a d'autre qui sont disponible. Ce que je ferais apres, c'est la classification des tissus, qui doit se faire sur le cerveau au complet > 3) Classification des tissus mat. blanche, grise, et LCR (classify) batch -Q medium -S -k -o 4Classify.log 'classify_clean subject_icbm_1.00mm.mnc subject_classified.mnc' et ensuite de trouver la matiere grise (dans le volume, les voxels ont la valeur "2") batch -Q medium -S -k -o 5GM.log 'minclookup -segment -const2 1.99 2.01 subject_classified.mnc subject_GM.mnc' Comme votre/ton but est la segmentation de l'hippocampe, il serait plus juste de concentrer le recalage non-lineaire sur la partie du cerveau qui t'interesse, ou Volume of Interest (VOI). Ca simplifie la tache a ANIMAL, et ca prend moins de temps pour tout le monde. Pour ce faire, on prend les volumes initiaux et on les "coupe" batch -Q medium -S -k -o 6VOI.log 'mincresample -like template.mnc subject_icbm_1.00mm.mnc subject_VOI.mnc' De la meme facon, je couperais le volume de GM batch -Q medium -S -k -o 7GM_VOI.log 'mincresample -like template.mnc subject_GM.mnc subject_GM_VOI.mnc' Et gardons de cote cette matiere grise. Elle reviendra plus tard. Le hasard faisant bien les choses, je possede une template qui pourrait t'interesser et que je te permets de copier sans aucune culpabilite /data/ipl/ipl3/duchesne/Data/Template/{left,right}MTL.mnc , accessible sur shadow ou tout systeme SGI Unix de ton voisinage. En passant MTL=Medial Temporal Lobe. C'est plus gros que seulement l'hippocampe, mais ca devrait englober le MTL pour tout sujet, peut importe le cerveau. A l'interieur, un masque qui devrait couvrir le HC ainsi que le PHC. Bon. Ou en etions-nous. Ah, oui, voila, nous avons maintenant un VOI centre sur le MTL. Nous pouvons donc faire un recalage non-lineaire sur ce VOI et particulierement sur la region HC/PC telle que definit dans la template batch -Q medium -S -k -o 8Nonlin_reg.log 'mritotal -model icbm_avg_152_t1_tal_lin_symmetric -model_mask template.mc -nonlin subject_icbm_1.00mm.mnc -transformation subject_t1tal_lin.xfm subject_t1tal_nl.xfm' Voila. Une fois cette transformation acquise, que faire ? Well, well, well, c'est tres simple. Cette transformee nous permet de passer du sujet A la cible. Il est tres simple de trouver la transformee inverse qui nous permet de passer de la cible AU sujet en faisant batch -Q medium -S -k -o 9Inv.log 'xfminvert subject_t1tal_nl.xfm subject_t1tal_nl_inv.xfm' Je te/vous encourage ensuite a DEVELOPPER VOTRE PROPRE ATLAS. L'atlas qui est disponible (jakob, etc...) est en fait une moyenne d'un paquet de label d'un paquet de sujet, dans un genre de truc probabiliste simple qui a son utilite mais rapidement ses limites. Si vous developpez votre propre atlas, il y a plusieurs avantages: 1) Les frontieres pourraient etre definies selon un protocole reconnu. Je t'encourage a regarder le travail de Jens Pruessner Cereb Cortex 2000 Apr;10(4):433-42 Volumetry of hippocampus and amygdala with high-resolution MRI and three-dimensional analysis software: minimizing the discrepancies between laboratories. Pruessner JC, Li LM, Serles W, Pruessner M, Collins DL, Kabani N, Lupien S, Evans AC. qui a bien regarde plein de protocoles de segmentation de l'hippocampe pour ses etudes. Evidemment, d'autres neuroanatomistes/neurologues ne seront pas d'accord, alors je t'encourage a parler egalement a Neda Bernasconi Brain 2003 Feb;126(Pt 2):462-9 Mesial temporal damage in temporal lobe epilepsy: a volumetric MRI study of the hippocampus, amygdala and parahippocampal region. Bernasconi N, Bernasconi A, Caramanos Z, Antel SB, Andermann F, Arnold DL. Je vends les deux salades car je travaille avec les deux. Il y en a d'autre, mais j'aime bien ce qu'ils font. Le travail de Neda risque d'etre plus pret du tiens, car si ma memoire est bonne, elle a divise l'hippocampe en 3 morceaux et regarde les contributions de chacun. Evidemment, il y a Maguire et al, PNAS, comme tu le dis, mais bon, je pousse le travail maison. 2) L'atlas peut (devrait) etre defini sur la cible, c.a.d. que tu te tapes une journee sur Display avec icbm_avg_152_t1_tal_lin_symmetric.mnc et a la fin, tu as l'hippocampe divise en trois comme tu le veux. Une fois que tu as ton atlas defini sur la cible, que nous appellerons atlas_madeleine.mnc, tu le warpes sur le sujet batch -Q medium -S -k -o 10Warp.log 'mincresample -like template.mnc atlas_madeleine.mnc -transformation subject_t1tal_nl_inv.xfm sujet_atlas.mnc' Le dernier truc n'est pas necessaire, mais j'ai trouve cela utile quand je travaillais. Il s'agit de coupler l'atlas avec les donnees de GM que nous avions mises de cote precedemment, comme le beurre fondu dans une bonne recette qui nous attend sur le comptoir. En faisant une addition logique (AND) des voxels de GM et des voxels dans l'atlas, nous eliminerions les voxels qui ne sont pas GM mais qui ont ete etiquetes comme tels dans ton atlas, et/ou ceux qui se faufilent a travers le recalage non-lineaire d'ANIMAL (surtout dans les cas pathologiques) Si tu fais mincmath -add sujet_atlas.mnc sujet_GM_VOI.mnc sujet_atlas_final.mnc le probleme est que la definition des 3 parties de ton atlas (queue, tete, corps) sera perdue. Il faut faire un minclookup pour identifier chaque partie, et ensuite additionner de facon logique la GM. Tu me suis ? Rendue la, si tout va bien, on se rappelle. > Je vous remercie de votre temps et collaboration et vous souhaite une belle > journee, > > Madeleine Fortin > > P.S. Je travaille en collaboration avec Kate Hanratty alors si vous pouvez > envoyer votre reponse a elle aussi ce serait tres gentil. merci beaucoup. Ayant envoye une copie a Kate, je m'auto-congratule d'avoir ete "tres gentil". :-) Alors voila. J'espere que ce n'est pas trop long... On se courrielle au besoin, voire meme telephone (x09552), voire meme se rencontrer. Je suis au BTRC, proche du BIC, dans le MNI, a cote du MNH, une partie du MUHC mais pas le RVic. A+ Simon