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 :

Rectangle autour de mes cellules


Sujet :

ImageJ Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 25
    Par défaut Rectangle autour de mes cellules
    bonjour,

    étant débutante sur ImageJ j'aimerai écrire un macro qui automatiquement pourra mettre des rectangles autour de toutes mes cellules que j'identifie déjà grâce à un threshold, je vous donne un petit exemple de ce que j'écris au début:

    run("Bandpass Filter...", "filter_large=50 filter_small=3 suppress=None tolerance=5");
    setAutoThreshold("MaxEntropy dark");
    //run("Threshold...");
    run("Set Measurements...", "area center limit redirect=None decimal=3");
    run("Analyze Particles...", "size=70-400 circularity=0.20-1.00 display clear include add");
    Nom : Capture.PNG
Affichages : 405
Taille : 21,8 Ko

  2. #2
    Membre éprouvé 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
    Par défaut
    Bonjour,

    Tu peux binariser ton image à partir du threshold. Sur l'image binaire, tu utilise la fonction find maxima... (fonction de imageJ) avec une noize tolerance de 1. La fonction va te placer un point au centre de chaque cellule. Tu peux ensuite récupérer les coordonnées de ces points grâce à la fonction "getSelectionCoordinates(xpoints, ypoints);" (Built-in macro function) et tu utilise ces coordonnées pour placer tes rectangles.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 25
    Par défaut carrés
    merci ça m'a beaucoup aidé malgré les beug incessants d'imageJ, l'automatisation des carrés voir les générer autour du point central de la cellule je n'arrive pas vraiment à le faire :s

  4. #4
    Membre éprouvé 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
    Par défaut
    Peux-nous montrer ta macro pour voir où tu en es ? Si tu as déjà réussi à placer les points, il ne reste plus grand chose à faire.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 25
    Par défaut
    la Mocro ressemble à ça maintenant, ce code me permet d'identifier les points centraux de mes cellules:

    [run("Bandpass Filter...", "filter_large=50 filter_small=3 suppress=None tolerance=5");
    setAutoThreshold("MaxEntropy dark");
    //run("Threshold...");
    run("Set Measurements...", "area center limit redirect=None decimal=3");
    run("Analyze Particles...", "size=50-400 circularity=0.20-1.00 display clear include add");
    run("Find Maxima...", "noise=10 output=[Point Selection] exclude above");]


    Nom : Capture2.PNG
Affichages : 394
Taille : 34,2 Ko

  6. #6
    Membre éprouvé 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
    Par défaut
    bonjour,

    tu peux essayer avec ce code et me dire si ça fonctionne?

    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
    imageName = getTitle();
    run("Bandpass Filter...", "filter_large=50 filter_small=3 suppress=None tolerance=5");
    setAutoThreshold("MaxEntropy dark");
     
    run("Duplicate...", "duplicate");
    duplicata = getTitle();
     
    selectWindow(imageName);
    run("Set Measurements...", "area center limit redirect=None decimal=3");
    run("Analyze Particles...", "size=50-400 circularity=0.20-1.00 display clear include add");
     
    selectWindow(duplicata);
    setAutoThreshold("MaxEntropy dark");
    run("Convert to Mask", "method=MaxEntropy background=Dark black");
    run("Find Maxima...", "noise=1 output=[Point Selection] exclude above");
    getSelectionCoordinates(xpoints, ypoints);
     
    close(duplicata);
    selectWindow(imageName);
    rectangleSize = 20;
    for(i=0; i<lengthOf(xpoints); i++){
    	makeRectangle(xpoints[i]-(rectangleSize/2), ypoints[i]-(rectangleSize/2), rectangleSize, rectangleSize);
    	run("Add Selection...");
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. colorer mes cellules années
    Par adriennoob dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/04/2010, 13h46
  2. [E-07] problème de recalculation de mes cellules
    Par law56100 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/03/2009, 04h10
  3. rectangle autour de bouton
    Par kaselander dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 04/02/2009, 08h25
  4. Modification du format date de mes cellules excel
    Par largo9020 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/11/2006, 14h53
  5. Rotation d'un rectangle autour du centre de gravité
    Par bucheron dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 22/06/2004, 11h01

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