reconstruction d'image par tomographie et filtrage

Une petite question sur votre TIPE...

Messages : 18

Inscription : 05 oct. 2021 17:26

Profil de l'utilisateur : Élève de lycée

reconstruction d'image par tomographie et filtrage

Message par Houda22 » 27 mai 2022 12:24

Bonjour.
Mon sujet consiste à reconstruire une image, que j'ai crée avec la bibliothéque numpy, en passant par la transformée de Fourier et son inverse.
Dans l'algorithme de reconstruction, j'ai besoin d'implémenter quelques filtres passe bas lissants , comme le filtre Hann, Hamming, Butterworth. Le problème c'est que je n'ai aucune idée sur la fréquence de coupure de ces filtres pour les implémenter en python. Je n'ai trouvé aucun support qui donne un ordre de grandeur de ces fréquences, donc je n'ai aucun moyen de justifier leurs valeurs que j'ai prises au hasard au jury.
Meme en utilisant le filtre numpy.Hanning prédéfini en python, je n'ai aucune idée sur l'ordre de grandeur de l'argument que je dois prendre.
Merci d'avance.

Messages : 294

Inscription : 27 oct. 2017 10:55

Profil de l'utilisateur : Professionnel

Re: reconstruction d'image par tomographie et filtrage

Message par Hibiscus » 27 mai 2022 12:37

Il y a plusieurs points qui me gênent un peu.
Houda22 a écrit :
27 mai 2022 12:24
quelques filtres passe bas lissants , comme le filtre Hann, Hamming, Butterworth
Pourquoi ?
Peux-tu formuler clairement la raison et les choix qui t'amènent vers ces filtres-là ? (i.e. pourquoi as tu besoin de quelquechose tout court, et pourquoi n'aurais tu pas pu en prendre d'autres)
Houda22 a écrit :
27 mai 2022 12:24
Meme en utilisant le filtre numpy.Hanning prédéfini en python, je n'ai aucune idée sur l'ordre de grandeur de l'argument que je dois prendre.
Que signifie "Hanning" ?
Qu'est ce qu'une fonction de Hann ? notamment sa défintion en DSP (et sa TF, voire fourier discrète?)
Pourquoi l'utilise-t-on ?
Quels sont les arguments et propriétés de cette fonction ?
Quel est son lien avec des images ?

Une fois que tout ça c'est clair, tu n'as plus qu'à suivre les rails.
(Indice, ce que tu dois mettre entre les parenthèses dépend de ton image...)

Mais il faut comprendre une fonction et sa raison d'être avant de vouloir l'utiliser.
C'est pareil pour tous les gens qui disent "je fais une simu de.." On doit connaître l'un des résultats d'une simu avant de la faire, sinon ça sert à rien de commencer.

Sinon, tu vas te retrouver à mettre des arguments au pif sans comprendre, et ça sera non seulement naze d'un point de vue "faites correctement une première démarche scientifique" qu'est le TIPE, mais en plus c'est un énorme point faible à l'oral, puisque tu ne risquerais de ne rien savoir justifier.
Masséna (PC*) -- X15 -- Spatial.

Messages : 18

Inscription : 05 oct. 2021 17:26

Profil de l'utilisateur : Élève de lycée

Re: reconstruction d'image par tomographie et filtrage

Message par Houda22 » 27 mai 2022 13:00

L'algorithme de rétroprojection filtrée donne exactement la solution mathématique. Le problème réside dans la discrétisation de la formule de rétroprojection, de la transformée de Fourier et son inverse, ce qui introduit des limites expérimentales. On perd de la précision et de la résolution, c'est pour cela que j'ai besoin d'utiliser les filtres. D'ailleurs j'ai déjà préciser dans mon MCOT que je vais utiliser des filtres et je ne peux pas renoncer maintenant.
En ce qui concerne la fonction Hanning par exemple, son expression est la suivante:
$ G( \nu)=$ \\\\
$0,5+0,5cos(\frac{\pi \nu}{f} \nu) $ si $-f \leq \nu \leq f$ \\
$0$ \,\,\, sinon
f étant la fréquence de coupure. c'est un filtre passe bas qui élimine le bruit, surtout le bruit amplifié par le filtre Rampe qui élimine les artéfacts en étoile ( ce filtre est indispensable ). Mon problème c'est je ne connais rien sur la valeur de f, le fitre est supposé passe bas mais l'image n'apparait nette que si j'essaie f = 1000 par exemple.. mais comment justifier le choix de cette valeur?

Messages : 294

Inscription : 27 oct. 2017 10:55

Profil de l'utilisateur : Professionnel

Re: reconstruction d'image par tomographie et filtrage

Message par Hibiscus » 27 mai 2022 13:14

C'est justement ça que je veux dire par comprendre pourquoi.
(A minima, feuillette une version en accès libre de Numerical Recipies de Press, Flannery, Teukolsky & Vetterling, tu trouveras beaucoup de choses sur le sujet. Mais fouille plus longuement la documentation avant d'utiliser des choses comme ça.)

Et si tu écrivais cette fonction avec un truc plus approprié qu'une fréquence de coupure ?
Au hasard, en prenant la définition originelle.

$
{\displaystyle \left.{\begin{aligned}w[n]=L\cdot w_{0}\left({\tfrac {L}{N}}(n-N/2)\right)&={\tfrac {1}{2}}\left[1-\cos \left({\tfrac {2\pi n}{N}}\right)\right]\\&=\sin ^{2}\left({\tfrac {\pi n}{N}}\right)\end{aligned}}\right\},\quad 0\leq n\leq N,} $
avec un sampling de N+1 ici.
SPOILER:

Il suffirait alors d'écrire, en gardant tes notations
$ w(n) = 0.5-0.5\cos\left(\frac{2\pi n}{M-1}\right) $, M le nombre de points de la fenêtre,
As-tu compris pourquoi ça élimine les artefacts en étoile ?
Il y a plein d'autres moyens de faire de l'apodization. Hann est certes utilisé en FFT, mais il y en a tout une famille, et au moins une trentaine parmi les "régulièrement utilisées" (y compris des plus simple que celle-ci).

Sais-tu pourquoi tu prends 0.5 et 0.5 pour les deux premiers coefficients de la série ?
SPOILER:
Les valeurs "théoriques" qui retombent sur la fenêtre de Hamming par exemple sont plutôt a0 = 0.53836 and a1 = 0.46164. Ce que tu cites est une fonction de Hann. L'amalgame entre les deux est un jeu de mots de la librairie python, mais ça n'est pas une dénomination si usuelle que ça.
Houda22 a écrit :
27 mai 2022 13:00
L'algorithme de rétroprojection filtrée donne exactement la solution mathématique. Le problème réside dans la discrétisation de la formule de rétroprojection, de la transformée de Fourier et son inverse, ce qui introduit des limites expérimentales. On perd de la précision et de la résolution, c'est pour cela que j'ai besoin d'utiliser les filtres.
D'ailleurs j'ai déjà préciser dans mon MCOT que je vais utiliser des filtres et je ne peux pas renoncer maintenant.
La dernière phrase n'est pas scientifiquement acceptable. Au contraire, dire devant un jury que tu pensais avoir besoin de si et ça, et qu'au final, tu as prouvé ne pas en avoir besoin est une démarche tout à fait correcte.

Qu'est ce que tu réponds si le jury te dit que tu peux faire tout ça (précision/résolution) sans filtre, avec juste un bête produit de convolution qui tient en une demi-ligne ?

Pour justifier une solution, il faut justifier un besoin, puis lister diverses solutions, et prouver que c'est la "mieux". Plus adaptée, plus facile, plus rapide, plus logique, plus quoi que ce soit, comme tu veux mais il te faut d'autres arguments que (en caricaturant) "tel site ou tel bouquin a dit que ça marchait".

Pareil, tu dis "rétroprojection filtrée = solution exacte". OK. Et alors, il y en a d'autres qui marchent ?
Il y a des papiers qui disent que Metz > Butterworth > Hann en terme de fiabilité.
Il y a d'autres papiers plutôt orientés diffusion Compton qui disent que la rétroprojection filtrée est une catastrophe pour leurs images..
Masséna (PC*) -- X15 -- Spatial.

Messages : 18

Inscription : 05 oct. 2021 17:26

Profil de l'utilisateur : Élève de lycée

Re: reconstruction d'image par tomographie et filtrage

Message par Houda22 » 27 mai 2022 13:48

Avant de travailler avec la fréquence de coupure, j'ai essayé d'utiliser l'expression que vous avez proposé, mais je retombe dans le meme problème: je n'ai aucune idée sur la valeur de M.

Je voulais utiliser d'autres filtres et établir une comparaison entre eux pour conclure à propos de leur efficacité.

Non je ne sais pas pourquoi on a choisi ces valeurs. Je vais chercher encore à propos de ce sujet.

Il y'a d'autres méthodes qui marchent, à savoir celle que vous avez proposé et celle algébrique ( ART ). J'ai choisi la rétroporjection filtrée car c'est la plus rapide et la plus utilisée dans les scanners commercialisés.

Messages : 294

Inscription : 27 oct. 2017 10:55

Profil de l'utilisateur : Professionnel

Re: reconstruction d'image par tomographie et filtrage

Message par Hibiscus » 27 mai 2022 13:52

Pourquoi ?
C'est juste Shannon.
Il y a des raisons à beaucoup de choses..
Masséna (PC*) -- X15 -- Spatial.

Messages : 18

Inscription : 05 oct. 2021 17:26

Profil de l'utilisateur : Élève de lycée

Re: reconstruction d'image par tomographie et filtrage

Message par Houda22 » 27 mai 2022 14:11

Excusez-moi mais je n'arrive pas à comprendre votre question.

Messages : 778

Inscription : 01 juin 2020 16:26

Profil de l'utilisateur : Parent

Re: reconstruction d'image par tomographie et filtrage

Message par H2Fooko » 28 mai 2022 13:00

Bonjour Houda22,

Désolé d'interrompre votre échange, concernant la discrétisation évoquée ici :
Houda22 a écrit :
27 mai 2022 13:00
.../.... Le problème réside dans la discrétisation de la formule de rétroprojection, de la transformée de Fourier et son inverse, ce qui introduit des limites expérimentales. On perd de la précision et de la résolution, c'est pour cela que j'ai besoin d'utiliser les filtres. .../...
j'utilisais la transformée en "z". Probablement hors programme pour les taupins, mais qui permet à partir d'une fonction de transfert en "p" (variable de Laplace pour les français) ou en "s" (pour les anglophones) d'obtenir la même fonction de transfert mais "discrétisée" qui fait intervenir la période d'échantillonnage de l'automate et ainsi "remonter" à la fréquence du coupure équivalente dans le domaine temporel ...

A l'heure qu'il est il est probablement trop tard pour s'y plonger à quelques jours d'uploader ta présentation et de maitriser les questions qui pourraient subvenir.
отец (un autre père ENSICAENnais) сынок (& fils PCSI▸PC▸PC* 2020-23 à B.Pascal (63)EC Lille) и Дух мира :flag_ua: (& esprit de 🕊)

Messages : 294

Inscription : 27 oct. 2017 10:55

Profil de l'utilisateur : Professionnel

Re: reconstruction d'image par tomographie et filtrage

Message par Hibiscus » 28 mai 2022 15:35

Oui, H2Fooko, ça faisait partie de ce à quoi je faisais référence par "les autres trucs qui marchent".

Et sinon, on revient au tout début.
Pour savoir comment choisir le nombre de points dans la fenêtre qu'on veut utiliser, il faut avoir compris pourquoi on l'utilise, et ce qu'elle fait.

Ca dépend de ton image, et c'est directement lié à Shannon.
Tu dois connaître, et comprendre ton image, tout comme tu dois connaître et comprendre les fonctions et filtres que tu souhaites appliquer.

Et on retombe dans l'éternel problème d'un tipe, i.e. vouloir appliquer des résultats de travaux un peu plus poussés que le programme de prépa sans avoir pris le temps d'essayer de les avoir compris avant. (quand c'est possible).

J'avais écrit un certain nombre de questions dans les premiers posts, tu dois savoir y répondre sans hésiter, et tu dois savoir justifier chaque virgule de tes réponses. Iidéalement, bien sûr. (et je n'ai pas forcément la réponse à un tiers d'entre elles, c'est justement à toi de convaincre par ta démarche)
Masséna (PC*) -- X15 -- Spatial.

Messages : 18

Inscription : 05 oct. 2021 17:26

Profil de l'utilisateur : Élève de lycée

Re: reconstruction d'image par tomographie et filtrage

Message par Houda22 » 30 mai 2022 00:59

H2Fooko a écrit :
28 mai 2022 13:00
Bonjour Houda22,

Désolé d'interrompre votre échange, concernant la discrétisation évoquée ici :
Houda22 a écrit :
27 mai 2022 13:00
.../.... Le problème réside dans la discrétisation de la formule de rétroprojection, de la transformée de Fourier et son inverse, ce qui introduit des limites expérimentales. On perd de la précision et de la résolution, c'est pour cela que j'ai besoin d'utiliser les filtres. .../...
j'utilisais la transformée en "z". Probablement hors programme pour les taupins, mais qui permet à partir d'une fonction de transfert en "p" (variable de Laplace pour les français) ou en "s" (pour les anglophones) d'obtenir la même fonction de transfert mais "discrétisée" qui fait intervenir la période d'échantillonnage de l'automate et ainsi "remonter" à la fréquence du coupure équivalente dans le domaine temporel ...

A l'heure qu'il est il est probablement trop tard pour s'y plonger à quelques jours d'uploader ta présentation et de maitriser les questions qui pourraient subvenir.
Merci pour votre réponse, mais comme vous aviez dit, il est trop tard et je me suis rendue compte que les filtres que je voulais utiliser servent plutôt à reduire le bruit qu'à minimiser les degats de la discretisation.

Répondre