# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  Recalage d'images (fusion) Imagerie 3D dicom

## Thauglor

Bonjour, 

Je commence a m'intresser a un sujet mais n'arrive pas a partir du bon pied, donc je viens vous solliciter. Je ne veux pas une rsolution complte, juste un petit coup de pouce pour dmarrer car je galre dans ma recherche documentaire. 

Mon objectif final, fusionner deux volumes 3D Dicom ( ex IRM T1 et T2 ou IRM et CT).

Je veux donc connaitre une transformation rigide entre deux volumes que j'ai dj construits ( volume homogne)

J'ai vu que le recalage iconique existait et parait le plus intressant. cependant je n'arrive pas  rellement cerner le principe.

Pouvez vous m'aider?

----------


## Thauglor

ouh y a eu foule chez moi ^^!!!

Bon je vais faire un point rapide d'o j'en suis dans mes recherches.

J'ai donc deux volumes 3D ( IRM et CT)
Ces volumes sont en coordonnes homognes de tailles variables. Disons normaliss  128*128*128 pour les deux avec des tailles de voxels en mm identiques. 

Je souhaite donc trouver la transformation rigide ( Tx, Ty, Tz, Rx, Ry, Scale) pour mettre ses deux volumes dans le mme repre, et donc les recaler.

La mthode que je souhaite utiliser est la maximisation de l'information mutuelle.

L'information mutuelle pas de problme, MAIS :

Mon problme maintenant est de dfinir une bonne mthode d'optimisation de manire  avoir des temps de calculs ne se comptant pas en semaine, tout en tant prcis.

Je regarde actuellement la mthode de descente de gradient, aprs avoir cart les algorithme gntiques. 

En fait mon problme est que je l'ai vu cit une paire de fois, mais je ne la comprends pas. Je veux bien un petit coup de main la dessus. 

Deuxime chose : Quelqu'un a t il dj t en face de se problme et si oui que pensez vous de l'information mutuelle.

Je signale que je cherche un recalage multimodale mono-patient, et que je dispose d'un repre d'orientation pour les deux imageries qui doivent tre proche. Je cherche juste  me rapprocher encore plus du recalage parfait.

----------


## ftftftft

bonjour
j'ai vu que tu t'interesse au recalage d'images multimodal 
est ce   que tu peut m'envoyer tes images irm et ct normaliss  128*128*128 ,   anisi que la transformation rigide ( Tx, Ty, Tz, Rx, Ry, Scale)

merci 

pour recalage avec la descent de gradient ya un ducument sur le net

----------


## ToTo13

Bonjour,

je ne connais pas de mthodes qui font cela en 3D, en revanche, en 2D :
 - Dtecteur de Harris suivit de SIFT.
 - Speed Up Robust Features (SURF).

Tu peux utiliser ces algorithmes sur des couches (donc 2D) de tes volumes.

----------


## Nebulix

Pour optimiser une fonction de 6 variables, l'algorithme de Nelder-Mead ("downhill-simplex") est de loin le meilleur. Je l'utilise depuis des dcennies. Et le gradient gnralement catastrophique. (cf Numerical Recipes).
Par contre, je serais inrress  en savoir un peu plus sur la maximisation de l'information mutuelle.

----------


## ftftftft

bonjour
est ce que il exist un recalage d'images medical  2d multimodal avec la maximisation de l'information mutuelle

----------


## Thauglor

> Pour optimiser une fonction de 6 variables, l'algorithme de Nelder-Mead ("downhill-simplex") est de loin le meilleur. Je l'utilise depuis des dcennies.


Je me demande... cet algorithme demande-t-il beaucoup d'itrations. Car je dois calculer une information mutuelle + une transformation de mon volume  chaque itrations, ce qui reprsente de trs gros calcul. Je pense que le gradient  l'avantage de faire converger trs vite. 




> Et le gradient gnralement catastrophique. (cf Numerical Recipes).


Faudra m'expliquer pourquoi il est si souvent citer alors.




> Par contre, je serais inrress  en savoir un peu plus sur la maximisation de l'information mutuelle.


En fin de compte pour l'instant faute de mieux, je calcule la transformation que je test, je calcul l'information mutuelle et je la compare voire si elle est mieux etc...

Tu veux savoir la mthode de calcul de cette information mutuelle ou d'autres infos ?

@ftftftft : C'est plus que possible  mon avis. Mais de la  trouver un truc tout fait. 
J'ai lu une bonne quinzaine de papier la dessus. Je pense qu'un google peut t'aider. Si tu as des questions je peux essayer de t'aider

Je travaille avec des images non anonymises donc je ne peux les distribuer. dsol

@ToTo13 : Merci je vais faire un tour sur ces mthodes, mme si je pense qu'il faut que travail sur le volume complet plutt que par couches.

Je pense garder cette ide de descente de gradient pour maximiser l'information mutuelle, sauf argument trop contestataire.

----------


## Nebulix

> Je me demande... cet algorithme demande-t-il beaucoup d'itrations. Car je dois calculer une information mutuelle + une transformation de mon volume  chaque itrations, ce qui reprsente de trs gros calcul. Je pense que le gradient  l'avantage de faire converger trs vite. 
> 
> Faudra m'expliquer pourquoi il est si souvent citer alors.
> 
> Tu veux savoir la mthode de calcul de cette information mutuelle ou d'autres infos ?


Si tu ne me crois pas, tu peux aller faire un tour sur le site de Numerical Recipes, je pense qu'il y a une discussion accessible.
J'aimerais bien connaitre le principe de cette information mutuelle.
Si j'avais ce type de pb, je travaillerais dans l'espace conjugu de Fourier

----------


## Thauglor

Lis le chapitre 4 de cet article. Il est assez bien fait pour expliquer le principe de l'information mutuelle et des histogrammes conjointes. Les tapes :
- calcul des histogrammes des deux volumes
- calcul de l'histogramme conjoint
- calcul de l'entropie conjointe
- calcul de l'entropie des deux volumes
- calcul de l'information mutuelle.

En thorie, en maximisant cette information mutuelle, on doit se rapprocher du recalage rigide le plus parfait. D'autres questions?

Si tu as mieux  me proposer, je t'coute. Je vais lire la discussion que tu me soumet.

Espace conjugu de fourier?    ::aie::

----------


## Thauglor

> Si tu ne me crois pas


Pardon mon ton "crit" est un peu agressif, mais ca n'est pas du tout le cas. J'apprcie ,normment tes conseils  ::ccool:: 

J'ai un peu de mal  nuancer mes paroles et on croit toujours que j'agresse. Dsol.




> tu peux aller faire un tour sur le site de Numerical Recipes, je pense qu'il y a une discussion accessible.


Je ne trouve pas la discussion concerne. On parle bien du livre "Numerical Recipes" ? Un lien stp

----------


## Nebulix

Si j'ai t un peu caustique c'est moins de ton fait que de celui de tous ceux qui la ramnent sans rien savoir (ceux qui prconisent la mthode du gradient, par exemple)
La mthode que j'utilise et conseille est celle dcrite dans ton document sous le nom de "simplexe", mais comme ce mot recouvre plusieurs choses diffrentes j'vite de l'utiliser.
Il m'est difficile de t'expliquer Fourier de but en blanc. DEmain peut-tre.
Renseigne toi de ton ct.

----------


## Thauglor

il me semblait que la mthode du simplex tait plus faite pour de nombreux paramtres. Or ce n'est pas trop mon cas.

Pour le fourier conjugu je regarde ca demain. Mais si tu peux me dire les tenants et les aboutissants, a m'avancerait bien

----------


## Nebulix

> il me semblait que la mthode du simplex tait plus faite pour de nombreux paramtres. Or ce n'est pas trop mon cas.
> 
> Pour le fourier conjugu je regarde ca demain. Mais si tu peux me dire les tenants et les aboutissants, a m'avancerait bien


Pas vraiment le temps... Il y a srement des tutoriels sur le net mais je n'ai pas le tps d'en faire une revue.

Si tu fais la FT de tes donnes, l'information de translation sera transforme en phase et si tu applique ta mthode aux amplitudes, tu n'auras qu' travailler dans un espace  3 dimensions.( d'abord les 3d de rotation puis celles de translation)
Il n'y aura sans doute que des basses frquences  considrer.
Je suis tonn que tu n'aies pas un minimum d'information sur la position du patient qui n'est quand mme pas alatoire pendant ces examens. Auquel cas tu rduirais considrablement tes espaces de recherche

----------


## Thauglor

> Je suis tonn que tu n'aies pas un minimum d'information sur la position du patient qui n'est quand mme pas alatoire pendant ces examens. Auquel cas tu rduirais considrablement tes espaces de recherche





> Je signale que je cherche un recalage multimodale mono-patient, et que je dispose d'un repre d'orientation pour les deux imageries qui doivent tre proche. Je cherche juste  me rapprocher encore plus du recalage parfait.


Que les basses frquences? pour du multimodal?  ::calim2::  Pas encore convaincu

----------


## b_reda31

> Mon problme maintenant est de dfinir une bonne mthode d'optimisation de manire  avoir des temps de calculs ne se comptant pas en semaine, tout en tant prcis.
> 
> Je regarde actuellement la mthode de descente de gradient, aprs avoir cart les algorithme gntiques.
> 
> En fait mon problme est que je l'ai vu cit une paire de fois, mais je ne la comprends pas. Je veux bien un petit coup de main la dessus.



Bonjour,
Je travail actuellement sur un projet trs similaire o je dois recaler une image/volume TEP (fonctionnelle) d'un sujet avec un atlas anatomique. bien entendu dans mon cas, un recalage rigide n'est pas suffisant, je me suis tourn vers les transformations lastiques (recalage non rigide) et l je galre.... cependant lors de l'optimisation le principe reste le mme.
Pour ma part, lors de l'optimisation je pense plus opter pour l'algorithme du recuit simul (Simulated annealing) car contrairement  l'algorithme de descente de gradient (DG), le recuit simul permet de s'affranchir des minimum locaux, je m'explique :
dans l'algorithme DG lorsqu'une solution gnre augmente/diminue la valeur du critre  minimiser/maximiser (l'IM par ex), la solution est refuse or celle-ci peut conduire  un minimum/maximum globale. Le recuit simul tente d'y remdier, en effet dans cet algorithme une "mauvaise" solution peut tre accepte, ou plutt est accepte avec une certaine probabilit. Cette probabilit est, proportionnelle  un paramtre (Temperature) qui diminue lors des itrations, et est inversement proportionnelle  la variation du critre (il faudrait quand mme pas accepter de trs trs mauvaises solutions  ::aie:: )
C'est en fait l'introduction de cette notion stochastique qui a permis d'atteindre un minimum global.



> Deuxime chose : Quelqu'un a t il dj t en face de se problme et si oui que pensez vous de l'information mutuelle.
> 
> Je signale que je cherche un recalage multimodale mono-patient, et que je dispose d'un repre d'orientation pour les deux imageries qui doivent tre proche. Je cherche juste  me rapprocher encore plus du recalage parfait.


Etant donn que les volumes proviennent de modalits diffrentes, je pense que l'information mutuelle est un bon choix comme critre.

Bon courage pour la suite...

----------


## Thauglor

Bonjour  tous.

Me remettant sur ce projet depuis peu, je recommence un peu depuis zero pour tre sur de ne pas avoir manquer quelque chose.

En effet j'ai repris mon travail de recherche sur l'information mutuelle [Mattes et al.,2003] et une mthode d'optimisation (gradient conjugu) pour un recalage de plusieurs imageries multi-modalits.

Suite a mes recherches je me suis dit "cool une mthode qui allie vitesse et prcision !" D'aprs ce que je pouvais lire, il tait argumenter assez frquemment que pour mon problme, cette combinaison de mthodes possdait le meilleur compromis entre vitesse et prcision (le second tant pour moi essentiel). 

Or, en continuant de fouiller, je vois un temps moyen de calcul avec une machine sans prtention mais correct, avec cette mthode : 4100 secondes !

Inconcevable dans l'application que je dois en faire. 

Comme il est trs difficile de rcuprer des performances concernant cette mthode, je fais appel  vous pour avoir un maximum d'informations  ce propos. Cette mthode choisie est elle rellement aussi lente ? Suis je passer  cot d'une mthode miracle?

Merci d'avance et bonne journe.

----------


## b_reda31

Bonjour,



> Or, en continuant de fouiller, je vois un temps moyen de calcul avec une machine sans prtention mais correct, avec cette mthode : 4100 secondes !


Le temps de calcule est fortement li :
-aux rsolutions spatiales et tonales des volumes  recaler 
-au nombre d'itrations de l'algorithme d'optimisation
-Au nombre de rsolution (si vous utilisez une approche multi-rsolution)
- l'ordre d'interpolation
-  la metric (son cot)
-...etc

Avec elastix, le recalage rigide de deux volumes TEP (128*128*64 - 16bits), prend une dizaine de minutes approximativement (sur un Core 2 Duo) avec les paramtes suivants :
-Optimisation par descente de gradient (500 itrations),
-Multiresolution (4niveaux),
-Interpolation d'ordre 3 BSpline,(pour chaque rsolution)
-Metric : Information Mutuelle



Je vous conseille vivement de faire des tests de recalage avec Elastix. Il dispose d'un aspect trs modulaire, vous pourrez ainsi choisir chaque module du recalage (Algorithme d'optimisation, Metric, Transformation,...etc) indpendamment des autres et faire des test en comparant avec vos rsultats.

----------


## Thauglor

> Avec elastix, le recalage rigide de deux volumes TEP (128*128*64 - 16bits), prend une dizaine de minutes approximativement (sur un Core 2 Duo) avec les paramtes suivants :
> -Optimisation par descente de gradient (500 itrations),
> -Multiresolution (4niveaux),
> -Interpolation d'ordre 3 BSpline,(pour chaque rsolution)
> -Metric : Information Mutuelle


Merci pour cette rponse rapide et correspondant  mes attentes  ::ccool:: 

une dizaine de minutes c'est encore beaucoup trop. Aprs discussion avec mes sups, on s'est rendu compte qu'il y avait eu un problme de comprhension. Il ne s'agit pas en fait de trouver forcment une mthode fonctionnant pour tous types de modalits (ce que j'avais compris) mais de trouver une mthode par combinaison de modalit (ex : CT/IRMT1) 

Je ne suis donc pas brider  une mthode iconique comme je le croyais. Que pensez vous d'une approche gomtrique (plus rapide et aussi prcis?), peut tre combin  une segmentation. 

Je prcise que je travaille sur des imageries de la tte et que pour l"instant je voudrais en priorit dfinir un recalage IRM T1 avec un scanner. 

Toutes ides et conseils est bons  prendre...

Merci d'avance

----------


## Phd_mosta

vous travaill sous matlab ??

----------

