Giter Club home page Giter Club logo

scintigraphy's People

Contributors

axelmetzinger avatar diegorodriguez31 avatar louannecostes avatar n0rvel avatar noafayn avatar oyasume avatar rubengres avatar salimkanoun avatar seaziicks avatar

Watchers

 avatar  avatar

Forkers

bisont87

scintigraphy's Issues

Fraction d'ejection de la vesicule billaire

Objectif : Calculer la proportion du traceur evacuée par la vesicule billaire (reservoire de bile qui se remplit entre 2 repas et qui se vide au moment du repas pour aider à digerer)

https://www.google.com/url?sa=i&url=https%3A%2F%2Fcentre.chl.lu%2Ffr%2Fdossier%2Fablation-de-la-v%25C3%25A9sicule-biliaire-chol%25C3%25A9cystectomie-au-centre-hospitalier-de-luxembourg&psig=AOvVaw3VFTeHaZ9gZZuQjF_4J5ri&ust=1590496020646000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCOCp3sWBz-kCFQAAAAAdAAAAABAD

Acquisition : Dynamique
On ne va traiter que la Dynamique Anterieur

2 Roi :
Gallbladder (vesicule billiaire)
Background liver (dans le foie hors de la vesicule billaire)

Faire une courbe avec JFreechart de la vesicule billiaire corrigée par le background à chaque image.

Calcul :
Gallbladder Ejection Fraction : ( (valeur max - valeur min) / valeur max ) /*100 ) => %

Liver Function

A faire par la meme personne qui fait Vidange de la vesicule billaire

dicom : Pierre Dicom 2020\Foie scintivol

Explication assez detaillée ici :
Articles réferences applications scinti\Foie\protocol scinti PHRC ....doc

Données d'entrée :
Un dynamique A/P "précoce"
Un dynamique A/P "Tardif"

  • ROI pour image precoce
    Liver
    Heart

  • ROI pour image tadive
    Liver

n'afficher que les images antérieures sur l'interface (faire une moyenne de toute le stack pour l'affichage)

  • calcul du coup en moyenne géométrique pour chaque image (coups/sec) et ajouter le coup total sur tout l'image (ROI de la taille de l'image)
    Faire 3 coubres avec Jfreechart : Liver, Heart, whole image

Recupérer les valeur des 3 ROi à 150et 350 secondes (et faire dans l'interface un compteur qui permet de deplacer ces valeurs de N secondes, positif ou negatif, l'intervalle reste le meme)

Le calcul a l'air chiant => On se basera sur le tableur excel pour essayer de comprendre ce truc.

Resultat :
Tab 1 ; Courbe image precoce (foie + coeur)
Tab 2 coube image tardive (foie seulement) =>+ taux retention = max/ min pour cette courbe

Scintigraphie Parathyroide

Images de Test : Repertoire Parathyroide => 2 images Antérieur
Elle sont réalisées avec 2 traceur differents (ou deux temps du meme traceur)
1 Traceur est une visualisation de la thyroide
1 Traceur est une visualiation de la Thryroide + de la parathyroide.

Le but est Ici de voir les parathyroide => On fait donc une soustraction des deux images.

2 cas de figure :
Deux traceur different : I123 et un Tc99m pour le traceur (il ya des methode pour trouver le traceur dans les librairies). Trier I123 puis Tc99m
Meme traceur (Tc) alors trier par temps d'acquisition (de la plus ancienne à la plus recente)

Worflow :
Fait un stack de deux images (les deux images antérieures)
Afficher Image 1, demander à l'utilsateur de déssiner une ROI Throide
Afficher Image 2 et demander et inserer la ROI Throide de l'étape précedente, demander à l'utilisateur de deplacer la ROI et valider
=> Normalisation, pendre la valeur du Max pour chaque ROI.
Calculer le ratio entre les deux
Multiplier tous les pixels de l'image de l'image la moins fixante par ce ratio (ImageJ command multiply) et sauver cette nouvelle image
Calculer la difference des deux images (calcul pixel par pixel) idem existe une commande ImageJ (me demander)

=> Fenetre resultat
Pas de calculs mais 2 Tab de Visualisation
=> 1 Tab capture des ROIs tel que dessinée
=> 1 Tab visualisation des deux images normalisées sur la Zone de la ROI et image de la soustraction avec le slider de contrast dynamique

Scintigraphie Glande salivaires

Principe : Rechercher un defaut de fonctionnement ou une obstruction sur les glandes salivaires
Example : PPT de Pierre 'Developpement application scintigraphie, diapo 10 et 11

Dicom Pierre Dicom 2020\Glandes salivaires

Acquisition : Une Dynamique face antérieure

Dans Visu : Faire une moyenne sur toute l'acqustion pour dessain des ROi et faire un boutton pour voir le dynamique (comme dans rénal)

ROI : 5 ROIs :
Parotide D
Parotide G
Sous Mandibulaire D
Sous Mandibulaire G
Background

Demander à l'utilisateur d'entrer le temps d'injestion du citron (demander au debut du programme) : Le citron force la vidange des glandes salivaires et on devrait voir la radioactivité des glandes salivaires s'effondrer a ce mment la.

Pour chaque image du dynamique sauvegarder :
calcul du temps (en minutes) par rapport au debut de l'acquisition
calcul du nombre de coups corrigé du background (la valeur de la roi background de la meme image)
La durée d'acquisition de l'image (dans les metadonée il y a un tableau qui donne la durée d'acqusition de chaque image du dynamique et on a des méthode pour lire ces valeurs facilement)

Resultats :

Affichage d'un graphique (librairie JFreeChart)

En X le temps en minutes
en Y le nombre de coups / sec (donc coups corrigé du background / divisé par nombre de secondes d'acquisition de l'image)
=> 1 tracé pour chaque glande (donc 4 tracés en tout) avec un selecteur pour afficher / ne pas afficher une des glandes (donc dans l'interface 4 checkbox pour chaque glande)

Afficher un slider verticale (non mobile) sur le temps d'ingestion du citron (celui donné par l'utilisateur)

Calcul de paramètre pour chaque glande (faire un tableau pour les resultats)

Uptake Ratio : (La valeur maximale de la courbe de la glande entre la 9eme et 10eme minutes) / (moyenne du background entre 10 et 20 minutes) => nombre sans dimension

Excretion Fraction : 1- (min de la courbe entre 2 et 4minutes apres le temps d'ingestion du citron / maximum de la courbe entre 9eme et 10eme minutes) * 100 => resultat en %

First Minute (FM) : moyenne des valeurs entre 0 et 1 minutes (coups/sec)
15 Min : valeur à 15 minutes (coups/sec)
Maximum : Valeur du max (sur toute la courbe) (coups/sec)
Min : Valeur du minimum après citron (donc analysée que depuis le temps du citron à la fin d'acquisition) (coups/sec)
Last Minute (LM) : moyenne des valeurs sur la derniere minutes d'acquisition (coups/sec)
Lemon : Valeur au moment de l'ingestion du citron

Attention quand vous allez lire des valeurs dans la courbe il n'y aura pas forcement un point sur cette valeur de X, il y a des methode d'extrapolation dans nos lib (si vous avez une image à 13min30 et une à 14minute 30, il faut extrapoler pour avoir la valeur à 14 minutes)

Et faire les ratio : FM /Max, Max/Min, Max/Lemon, 15min/Lemon
(En % du coup, faudra voir si ces indexes servent à qqch avec pierre)
et on fera un deuxieme "Excrection Fraction" qui est la meme formule que l'excretion fraction mais en prenant le max sur toute la courbe et pas que 9 à 10 minutes

Dans l'interface résultats :
Tab 1 : Resultat : les courbes et les indexes calculés
Tab 2 : Faire une mosaique d'image comme le capture disponible dans le jeu de donnée de pierre: reechantilloner le dynamique en 16 images (on a des méthode pour faire ca, on avait fait ca pour le rénal)

Scintigraphie Thyroide

Example dans Thyroide
Dans cet examen il y a 3 Images

  • Seringue avant injection

  • Seringue Après injection

  • Thyroide Antérieur

  • Faire identifier lors du choix des sequences la seringue avant et après injection.
    Pour ces images il suffit de calculer le nombre de coup total de l'image (somme de tous les pixels de l'image) et de faire la différence (dans le sens Avant - après et vérifier que la différence est positive cad somme avant > somme après)

  • Afficher la Vue de la thyroïde demander à l’utilisateur de dessiner : le lobe droit et le lobe gauche.
    Après chaque ROI proposer une roi background comme sur la capture d'écran disponible dans l'exemple
    Soustraire chaque ROI avec son background
    Resultat a afficher = Somme thyroide (les deux lobes corrigés) / difference entre les serringue
    c'est un ratio de fixation de la thryoide par rapport à l'activité injecté qui est à exprimée en %
    Afficher surface thryoide (surface du pixel * nombre de pixel de chaque ROI)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.