Mon problème est que je dois développer un programme capable d'ouvrir les images DICOM CT en C # (sans aucune bibliothèque) et que je devrais également traiter les images axiales, coronales et sagittales. Je les ai compris, mais la résolution d'image coronale et sagittale n'est pas correcte. J'ai vérifié un million de forums et de questions, mais je n'ai tout simplement pas trouvé la bonne façon de trouver les résolutions coronales et sagittales. Si quelqu'un pouvait me donner une formule ou quelque chose, je serais très heureux.
D'après ce que j'ai vu, voici les informations nécessaires pour obtenir la résolution:
Mais je calcule l'espacement entre les tranches à partir de la position de l'image (0020, 0032) (patient), qui est de 0,625. Et je ne sais pas vraiment quel est le lien entre ces informations, quelle est la formule pour obtenir la bonne résolution. Et ma question exacte est: quelle est la résolution des images coronales et sagittales?
Si vous avez besoin de plus d'informations sur les tranches, faites le moi savoir. Merci d'avance :)
EDIT: J'ai vérifié avec RadiAnt DICOM Viewer que la résolution coronale / sagittale devrait être de 512x383. Si quelqu'un connaît la formule pour laquelle le résultat est 383. Veuillez me le faire savoir. En attendant, je vais essayer de me comprendre.
3 Réponses :
Je suppose:
Dans ce cas:
Résolution des silces sagittaux = Résolution des tranches coronales = 512 tranches, chacune avec 512x518 pixels (Sagittal: hauteur * nombre de tranches, Coronal: largeur * nombre de tranches)
Espacement des pixels sagittal = espacement des pixels coronale = 0,845703 * 0,625.
Distance de coupe sagittale = distance de coupe coronale = 0,845703 mm
Remarque: l' utilisation d'une boîte à outils DICOM pour lire les tranches serait fortement recommandée. Le fait que vous puissiez lire cet examen en particulier ne vous dit pas que vous êtes capable de lire n'importe quel examen. Il existe de nombreux pièges dans les règles d'encodage de bas niveau de DICOM.
Oui, 518 est le nombre d'images. J'ai essayé le 512x518, mais l'image est étirée, car les tranches se chevauchent (l'espacement entre les tranches est inférieur à l'épaisseur de la tranche). Et que dois-je faire avec le 0.845703 * 0.625? Si je le multiplie par 518, le résultat est une image assez compressée. : /
Si l'espacement entre les tranches est inférieur à l'épaisseur de la tranche, les images ne sont pas optimales pour la reconstruction 3D. Cependant, ma formule est toujours correcte - en 3D, c'est la position qui compte. À propos de l'espacement des pixels: il est asymétrique: direction x: 0,84 ... direction y: 0,625.
Je pense avoir réussi à trouver une solution proche. 1-2 pixels de la version RadiAnt, mais c'est le meilleur que je puisse obtenir:
Hauteur d'image coronale / Largeur d'image sagittale: nombre d'images * espacement entre les tranches / espacement des pixels
Par exemple: 518 * 0,625 / 0,845703 = 382
Résolution d'image RadiAnt: 512x383. Ma résolution d'image: 512x382
Cette solution fonctionne pour certaines études avec lesquelles j'ai testé, mais pas pour une ou deux sur Internet. Comme l'a dit kritzel_sw , cela peut varier. J'espère que celui-ci aidera aussi un peu quelqu'un d'autre.
Cela ne me semble pas logique. Pourquoi diviserait-on la résolution dans la direction Z (distance des tranches) par la résolution des tranches axiales? Ils ne sont absolument pas liés. La hauteur en pixels d'une tranche sagittale / coronale est clairement de 518 * 0,625.
Je me trompe probablement, mais si je multiplie 518 par 0,625, j'obtiendrai effectivement la direction Z, mais en mm, et j'en ai besoin en pixels, donc je l'ai convertie en pixels. La distance entre deux tranches est de 0,625 et la distance entre deux pixels est de 0,845703, elles peuvent donc être utilisées comme rapport entre mm et pixel (pour mesurer la distance). Je divise simplement le 518 * 0,625 par 0,845703 et j'obtiens la longueur des directions Z en pixels. Pour moi, cela a du sens, et je l'ai vérifié avec un programme conçu pour le traitement d'images DICOM et cela prouve fortement mon idée.
il n'y a pas de réponse claire pour la résolution. N'oubliez pas que dans DICOM vous avez le PixelSpacing , que vous n'avez pas dans les "images normales".
une image typique doit toujours avoir une grille équidistante pour être affichée correctement à l'écran. Mais dans dicom, vous pouvez avoir une image avec 100x100 pixels et pixels espacés 1.0 \ 1.0, et vous pouvez avoir une image avec 100x200 pixels et pixels espacés 1.0 \ 0.5. Une visionneuse DICOM valide afficherait les deux images de la même manière. la deuxième image a plus de pixels, mais ils sont plus petits. résultant dans le même affichage que la première image.
Il est donc évident que la hauteur de la pile d'images est de 518 * 0,625 = 323,75 mm. Vous avez donc de nombreuses possibilités:
Ouais !! Je ne suis pas fou après tout! Je savais que cela avait du sens. Merci pour l'explication professionnelle :) Marqué comme réponse.