IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ImageJ Java Discussion :

Macro ImageJ - Aide à l'écriture


Sujet :

ImageJ Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant-chercheur
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant-chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Macro ImageJ - Aide à l'écriture
    Bonjour à tous,

    Je suis Adrien, doctorant en biologie en troisième année. J'aurai besoin de vos conseils sur la création du Macro ImageJ étant donné que je ne connais pas ce langage. Je vous donne le contexte de mon étude. J'ai un film (stack de 193 images) avec des cellules qui se déplacent au cours du temps (voir images jointes qui sont des crops). Je voudrai quantifier à la fois la taille et la fluorescence de chaque cellule au cours du temps.
    Pour faire ceci j'avais pensé mon protocole en 3 grandes étapes:

    -> Etape 1: tracking des cellules
    Grâce au plug-in MtrackJ, je clique au centre de la cellule qui m’intéresse au cours du temps et j'obtiens ses coordonnées à chaque temps. Etape facile

    -> Etape 2: extraction d'une ROI ronde (35pixels de diamètre) centrée sur les coordonnées x y obtenue avec MtrackJ au cours du temps.
    Pour cette étape, je voudrai faire une macro permettant de récupérer la ROI correspondante à chaque position voulue

    -> Etape 3: quantification de la fluorescence au cours du temps grace aux options ImageJ. Etape facile

    -> Etape 4: binarisation de l'image et, avec Analyze Particule d'Image J, je peux avoir la taille. Etape facile

    Comme vous l'aurez compris, je butte sur l'étape 2 et sans cette étape je ne peux rien faire. Faire toutes les ROI à la main pour les 193 images et mes 1000 cellules me demande un travail impossible. J'ai absolument besoin de passer par une macro mais je ne connais pas ce language. J'ai essayé de m'y mettre mais je ne peux pas m'yconsacrer à plein temps vu que je termine ma dernière année.

    Est-ce que quelqu'un pourrait m'aider ?

    En vous remerciant par avance pour votre aide

    A bientôt

    Adrien
    Nom : Image2.gif
Affichages : 1316
Taille : 1,1 Ko

  2. #2
    Membre habitué Avatar de Tchoukatroc
    Homme Profil pro
    Soupière
    Inscrit en
    Mai 2014
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Soupière
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 99
    Points : 141
    Points
    141
    Par défaut
    Bonjour,

    Je peux t'aider à écrire ta macro. Sous quelle forme le plugin MtrackJ te donne-t-il les coordonnées (fichier texte ou autres)? Ensuite, si je comprends bien, ta région de 35 pixels de diamètre va te permettre de mesurer la fluo dans tes cellules. Ce qu'on peut faire, c'est extraire les coordonnées du fichier donnée par MtrackJ, utiliser les coordonnées pour placer la région et mesurer la fluorescence directement qui sera enregistrée dans un fichier "result" que tu pourras ensuite ouvrir avec Excel ou autre. Pourrais-tu poster un exemple de fichier que te donne MtrackJ, STP?
    Après, pour la binarisation, tout dépend de ton image, si le signal est suffisamment fort, et que tes cellules sont bien isolées, un simple seuillage suffira et on pourra également automatiser ça.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant-chercheur
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant-chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse et pour me porposer ton aide ! C'est super sympa

    Toutes tes idées me semblent tops ! J'avais cependant oublié de mentionner un point dans mon analyse. En fait pour chaque cellule j'ai deux stack d'images correspondant à différents types d'acquisition: le premier stack sont les cellules prises en lumières naturelles (stack TRANS) et le second est exactement la même chose sauf que c'est la fluorescence des cellules qu'on observe (stack GFP).

    A partir du stack TRANS, je fais le tracking des cellules avec MTrackJ. Pour répondre à ta question, quand j'ai fini le tracking manuel, je clique sur le bouton ''Measure'' du plug in et j'obtiens une fenêtre ''Results'' avec les coordonnées correspondante pour chaque image (voir image jointe) qui peut également etre sauvé au format . text ou .csv.

    Sur le stack TRANS je voudrai ensuite mesurer la taille des cellules de la ROI et sur le stack GFP je veux mesurer l'intensité de fluorescence.
    Cela te semble t'il faisable ?

    Peut être serait'il plus simple pour toi de comprendre si je te passes les 2 types de stack ?

    Dis moi et encore une fois merci pour ton aide

    A très bientot j'espère

    Adrien
    Pièce jointe 174098Nom : Image1-2.jpg
Affichages : 1682
Taille : 68,0 Ko

  4. #4
    Membre habitué Avatar de Tchoukatroc
    Homme Profil pro
    Soupière
    Inscrit en
    Mai 2014
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Soupière
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 99
    Points : 141
    Points
    141
    Par défaut
    Ok, on pourrait utiliser les coordonnées des cellules directement dans la fenêtre "results" mais ça risque de compliquer les choses si on veut mesurer l'intensité de fluorescence et l'enregistrer dans la fenêtre "results" également. Ça peut se faire mais le plus facile à mon avis d'enregistrer les coordonnées dans un fichier texte et de travailler avec ce fichier .txt. Est-ce que ça te dérange s'il faut enregistrer ton tracking sous format texte pour chacun de tes stacks?
    Sinon, pour la mesure de la fluorescence, il n'y a pas de problème. On crée une boucle qui place une région à la position correspondant à tes coordonnées, qui envoie la mesure de fluo dans la fenêtre results et qui passe à la slice suivante. A ce propos, quand tu fais le tracking, tu le fais cellule par cellule? C'est à dire, tu clique sur ta cellule, tu passe au plan suivant, tu clique sur ta cellule,... jusqu'à la fin du stack, puis tu recommence au début du stack avec une deuxième cellule, etc?
    Par contre, pour ton stack TRANS, j'imagine que c'est du DIC ou du contraste de phase, je ne pense pas qu'un seuillage te permette de bien segmenter tes cellules. En tous cas, je ne sais pas comment traiter l'image pour le faire. Pourrais tu envoyer une slice en TRANS et une en GFP (sous format .tif), histoire de voir à quoi ça ressemble?
    Sinon, est-ce que ta fluorescence correspond à la taille de tes cellules? Si oui, on pourrait plutôt utiliser le canal fluorescent pour segmenter les cellules et mesurer leur taille (à condition qu'il n'y ait pas trop de bleaching ou que ta GFP ne soit pas dégradée).

    Bonne soirée,

    Cédric

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant-chercheur
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant-chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour Cédric,

    Le fait d'enregistrer le tracking de chaque cellule en texte n'est pas un problème pour moi. Pour la tracking, je clique sur la position de ma cellule sur chaque slice de la première à la dernière. Le plug-in MTrackJ est assez bien fait donc ca prend pas trop de temps

    En images jointes, tu trouveras une slice GFP et un slide TRANS ( qui correspond à du contraste de phase en effet). Elles ne sont pas au format .tif car ce format ne semble pas accepter sur le forum ...

    Nom : slice_gfp.jpg
Affichages : 1451
Taille : 17,8 Ko
    Nom : slice_trans.jpg
Affichages : 1462
Taille : 17,0 Ko

    Pour mesurer la taille des cellules, je pensais faire: Image > Threeshold; Process> Binary > Make Binary; Process > Binary > Fill Holes; Process > Find edges ; Analyse> Analyse particules comme ça j'ai la taille de chaque cellule. Cependant, si je fais ça avec l'ensemble des cellules sur l'ensemble du stack, c'est très difficile de trouver un threshold optimal ... C'est pour ça qu'à la base je voulais faire un crop de chaque cellule dans une ROI.
    La fluorescence ne peut pas être utilisée pour mesurer la taille étant donné que la fluorescence apparait au cours du temps et que c'est juste à un endroit précis formant une sorte de baguette fluorescente qui ne correspond donc pas à la taille de la cellule.

    Qu'en penses tu ?

    Encore merci pour ton aide et bonne journée

    Adrien

  6. #6
    Membre habitué Avatar de Tchoukatroc
    Homme Profil pro
    Soupière
    Inscrit en
    Mai 2014
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Soupière
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 99
    Points : 141
    Points
    141
    Par défaut
    Salut,

    Oui, tes images en contraste de phase ont l'air correctes pour utiliser le threshold. Si tu trouves que le seuillage fonctionne bien, on peut utiliser ça. Par contre, je ne sais pas non plus comment faire pour segmenter tes cellules toutes en même temps, je n'y connait pas grand chose en traitement d'images, on pourra le faire une par une.
    Donc on peut commencer. Le mieux serait que tu m'envoies un de tes fichiers textes de tracking, je pourrais me débrouiller avec ça pour la partie quantification de fluorescence.
    Après, est-ce que tu veux une macro qui fait "quantif de fluo + mesure de taille" ou deux macros séparées? Si tu veux une macro qui fait tout d'un coup, il faudra faire le tracking sur chaque cellule "cropé" (sur lesquelles tu a fait un crop ) pour pouvoir faire le seuillage correctement. Sinon, on peut faire une macro qui te fait la quantif de fluo sur ton stack entier. Puis une seconde macro qui fonctionnera sur tes cellules individuelles "cropées" (faut-il conjuguer les verbes qui n'existent pas? ) pour mesurer la taille des cellules. Comme tu préfères.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant-chercheur
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant-chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Salut Cédric,

    Faire 2 macros me semblent le mieux finalement. Par contre pour la macro qui permettra de quantifier la taille, est t'il possible d'inclure le crop de la cellule à chaque temps et de refaire un stack de ces crops (allez moi je conjugue )? Faire manuellement tout les crops prendraient beaucoup trop de temps...je pense qu'il serait intéressant d'inclure cette étape de crop à tous temps et de faire un stack des crop dans la macro pour pouvoir ensuite quantifier la taille (thresshold ou seuillage). C'est possible ? Une fois que cette étape limitante est passée je pense que ca devrait aller assez vite !

    Encore merci pour ton aide

    Adrien

  8. #8
    Membre habitué Avatar de Tchoukatroc
    Homme Profil pro
    Soupière
    Inscrit en
    Mai 2014
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Soupière
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 99
    Points : 141
    Points
    141
    Par défaut
    Salut,

    La première macro est écrite, il faudrait juste que tu m'envoies un fichier texte avec tes coordonnées de tracking pour que j'écrive le code pour extraire ces coordonnées et les intégrer dans la macro.
    A propos du crop, je ne comprends pas. Si tu crop un stack, il te fait le crop pour tous les temps, tu n'as pas à faire un crop pour chaque temps, non?
    Sinon, ce que je peux te proposer, c'est que la première macro, après avoir mesuré la fluo de tes cellules, fera un crop automatique de la cellule traitée (en plaçant une région (taille à définir) autour de ta cellule et en se servant des coordonnées de tracking) et sauvegardera le crop dans le dossier où est enregistré ton image (avec un nom comme "cellule1-leNomDeTonStackDeBase").
    Est-ce que tes cellules bougent durant l'acquisition ou sont-elles stables (enX,Y)?

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant-chercheur
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant-chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    cell_1.txt

    Salut Cédric !

    Pour le tracking je t'ai mis en pièce jointe un fichier .txt avec la sortie de MtrakJ qui contient les coordonnées.
    Comme tu pourras le remarquer, la cellule est immobile au début et bouge ensuite de manière assez importante jusqu'a se stabiliser plus ou moins.
    Le fait qu'elle bouge en x et y ne me permet pas de faire les crops manuellement ... donc ton idée de crop automatique me plait bien

    Si, comme tu le dis, tu peux faire un crop automatique en fonction de la position et sauvegarder les différentes images, c'est parfait ! Je pourrai réassembler les crop en stack et faire l'analyse de taille ensuite !

    Merci encore de m'aider à ce projet !
    Bonne soirée et à bientôt

    Adrien

  10. #10
    Membre habitué Avatar de Tchoukatroc
    Homme Profil pro
    Soupière
    Inscrit en
    Mai 2014
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Soupière
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2014
    Messages : 99
    Points : 141
    Points
    141
    Par défaut
    Salut,

    Merci pour le fichier texte, j'essaye de faire ça dans les prochains jours.

    A +,

    Cédric

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Doctorant-chercheur
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant-chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Salut Cédric et merci pour ta réponse,

    Ce week-end j'ai eu la chance de rencontrer un ingénieur Image qui à été très intéréssé par mon projet. Malgré quelques optimisations à prévoir, le script est terminé et fonctionne parfaitement.
    Je le mettrai en ligne dès qu'il sera optimisé.

    Je te remercie pour ton aide et ton implication en tout cas

    Encore merci

    Adrien

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/09/2009, 16h59
  2. Aide pour écriture de fichiers
    Par whorian dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/08/2009, 21h23
  3. faire une pause d'une macro à l'aide d'un bouton
    Par Melanie1324 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/05/2009, 17h53
  4. Aide pour écriture de conditions
    Par bidule86 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/03/2009, 12h15
  5. Demande d’explications sur cette macro et aide pour la modifier.
    Par Sapinator dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/08/2007, 18h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo