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 image j


Sujet :

ImageJ Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut macro image j
    Bonjour, je suis un étudiant en biologie et je ne connais pas grand chose en informatique. Dans le cadre de mon stage j'utilise image j. J'ai réaliser une macro mais elle ne se lance pas le logiciel m'affiche " no dialog created with Dialog.create() in line 2. Dialog.<addChoice>("Files extension", newArray("all",.png","tif,".jpg"));
    voici ma macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Dialog.addChoice("Files extension", newArray("all", ".png", ".tif", ".jpg"));
     
    inputDir = getDirectory("Choose the input directory ");
    outputDir = getDirectory("Choose the output directory ");
    imageType = Dialog.getChoice;
     
    inputFilesList = getFileList(inputDir);
    for (i=0; i < inputFilesList.length; i++){
    	if( imageType == "all"){
    		if( !endsWith(inputFilesList[i], "/") ){
    			maxProject(inputDir, outputDir, inputFilesList[i]);
    		}
    	}
    	else{
    		if( endsWith(inputFilesList[i], imageType)){
    			maxProject(inputDir, outputDir, inputFilesList[i]);
    		}
    	}
    }
     
    function maxProject(inputDir, outputDir, imageName){
    	open(inputDir + imageName);
    	run("Split Channels");
           selectWindow("Image j.png (blue)");
           close();
           selectWindow("Image j.png (red)");
           close();
           selectWindow("Image j.png (green)");
           setAutoThreshold("Default dark");
           //run("Threshold...");
           //setThreshold(180, 255);
           setOption("BlackBackground", false);
           run("Convert to Mask");
     
    	saveAs("Tiff", outputDir + "MAX_" + imageName);
    } 
     
     
     
    close();
    Merci pour votre aide

  2. #2
    Membre régulier Avatar de Tchoukatroc
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    mai 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Santé

    Informations forums :
    Inscription : mai 2014
    Messages : 83
    Points : 119
    Points
    119
    Par défaut
    Salut,

    Pour créer une boite de dialogue, tu dois d’abord appeler la fonction Dialog.create("Title").
    Ensuite, tu mets tes éléments dedans, donc dans ton cas Dialog.addChoice("Files extension", newArray("all", ".png", ".tif", ".jpg")).
    Puis, tu affiche la boite de dialogue avec Dialog.show(). Les functions telles que imageType = Dialog.getChoice; doivent être placées après Dialog.show();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dialog.create("Title");
    Dialog.addChoice("Files extension", newArray("all", ".png", ".tif", ".jpg"));
    Dialog.show();
     
    imageType = Dialog.getChoice;
    Bonne journée,

    Cédric

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Je te remercie pour ta réponse. Avec ton aide je peut désormais choisir le type de fichier et aussi je d'entrée et de sorti choisir mes dossier d'entrée et de sorti cependant lorsque je lance la macro un autre message d'erreur apparaît: dialog error line 11: imageType=Dialog <getchoice>.
    Ma macro consiste à convertir les image en 3 canaux RGB, je garde le canal vert puis je le binarise au seuil 180.
    Je te remercie encore une fois pour ton aide.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Je vient de m'apercevoir de mon erreur: "imageType = Dialog.getChoice;"était écrit deux fois. La macro fonctionne cependant je n'obtient pas les mêmes résultats que lorsque je réalise les étapes moi même. As tu une idée de ou pourrait venir l'erreur? Merci

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    J'ai apporté quelque modification et maintenant le programme fonctionne correctement, je te remercie sincèrement de ton aide

  6. #6
    Membre régulier Avatar de Tchoukatroc
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    mai 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Santé

    Informations forums :
    Inscription : mai 2014
    Messages : 83
    Points : 119
    Points
    119
    Par défaut
    Super que ta macro fonctionne. Aussi, j'ajouterais des parenthèse après la fonction getChoice, elle est documentée ainsi. Je ne sais pas si ça a de l'importance, j'ai toujours mis ces parenthèses, mais ça pourrait éviter des bugs dans la macro.


  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Merci, oui tu as raison je l'ai rajouter.
    Et sais tu comment faire pour que lorsque j'utilise analyse particule, le logiciel me détecte que les particule ayant une taille précise comprise entre deux valeur?

  8. #8
    Membre régulier Avatar de Tchoukatroc
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    mai 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Santé

    Informations forums :
    Inscription : mai 2014
    Messages : 83
    Points : 119
    Points
    119
    Par défaut
    Pour analyse particules, je pense que tu peux sélectionner la taille de tes particules en utilisant le paramètre size (micron^2).

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Sait tu comment faire pour que a partir de ma macro, les résultat de analyse particule soit automatiquement transférer sur Excel, du même type que ici bas ?
    Image 1 image 2 image 3...
    Dossier1
    Dossier2
    Dossier...

  10. #10
    Membre régulier Avatar de Tchoukatroc
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    mai 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Santé

    Informations forums :
    Inscription : mai 2014
    Messages : 83
    Points : 119
    Points
    119
    Par défaut
    Non, je ne pense pas que tu puisses exporter directement tes résultats dans Excel. Mais tu peux enregistrer ta fenêtre de résultats en un format lisible par Excel.

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonsoir
    Je te remercie pour t'es réponse grâce à toi mon sujet avance.
    Sais tu si c'est possible de rajouter une boucle "si" dans ma macro? Du style:
    Si elle ne compte aucune particule au seuil X
    ALORS elle effectué un seuil de Y?

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Et comment faire pour soustraire deux image? Je voudrais soustraire le canal bleu au canal vert?

  13. #13
    Membre régulier Avatar de Tchoukatroc
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    mai 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Santé

    Informations forums :
    Inscription : mai 2014
    Messages : 83
    Points : 119
    Points
    119
    Par défaut
    Salut,

    Pour soustraire deux image, tu vas dans Process..., puis la fonction image calculator te permet de faire des opérations entre image.

    Pour ta boucle, ce que je ferais, c'est lancer une première fois analyse particule avec ton threshold haut, en cochant uniquement "Add to manager" dans les options de analyse particule. En comptant les régions dans ROI manager avec la fonction roiManager("count"), tu sauras si analyse particule détecte des particules. Ensuite, tu peux faire des boucles if. If(résultats de roiManager("count") > 0) Utilise le threshold haut,
    else Utilise le threshold bas.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Jai une image d'origine et je voudrais la decouperr en plusieur petite image, sais tu si c'est possible?

Discussions similaires

  1. Word macro image
    Par Rdom85 dans le forum VBA Word
    Réponses: 0
    Dernier message: 11/06/2012, 17h12
  2. Macro & image qui débordent
    Par chrisburrc dans le forum Programmation (La)TeX avancée
    Réponses: 3
    Dernier message: 05/12/2009, 16h26
  3. Appliquer une macro à une image
    Par erwan99 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/04/2006, 14h50
  4. [VBA-E]Ouvrir une image jpg àl'aide d'une macro
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 09h47
  5. [WORD] Inclusion d'une image (.tif) par macro
    Par guejo dans le forum VBA Word
    Réponses: 1
    Dernier message: 08/02/2006, 11h16

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