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

Interfaces Graphiques Discussion :

affichage images IRM


Sujet :

Interfaces Graphiques

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 3
    Points
    3
    Par défaut affichage images IRM
    Bonjour

    j'ai utilisé ce code pour afficher l'ensemble des images IRM sur le meme axe(montage)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    %Preallocate the 256-by-256-by-1-by-20 image array.
     
    X = repmat(int16(0), [256 256 1 20]);
     
    % Read the series of images.
    for p=1:20
       filename = sprintf('brain_%03d.dcm', p);
       X(:,:,1,p) = dicomread(filename);
    end
     
    % Display the image stack.
    montage(X,[])
    ce que je veux faire maintenat c quand je clique sur l'une des images elle s'affiche seule sur un autre axe et ainsi de suite pour chaque image

    merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 313
    Points : 52 939
    Points
    52 939
    Par défaut
    La fonction MONTAGE construit une image à partir des différentes images passée en entrée.

    Il faut donc gérer la position de la souris en récupérant la propriété CurrentPoint de l'objet Axes sur lequel est dessinée l'image puis l'action du clic en renseignant la propriété ButtonDownFcn du même objet Axes (mettre la propriété HitTest de l'objet Image à Off avant).

    Tu trouveras des exemples de codes en faisant une recherche sur le forum MATLAB avec comme mot-clés les propriétés citées ci-dessus

  3. #3
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,

    Etant intéressé par ce sujet, j'ai essayé de faire quelque chose, mais malheuresement j'ai pas eux la possibilité de désactiver le "hittest" de l'image contenue dans l'objet axes après avoir utilisé la commande montage.

    Pour solutionner ce problème, j'ai copié le résultat obtenu avec la commande montage dans une nouvelle image que j'ai affiché par la suite dans un nouveau objet axes. Maintenant le programme fonctionne correctement.

    Cependant, il me reste à déterminer l'indice de l'image sélectionnée avec la souris, en l'occurrence l'image correspondante à la position "CurrentPoint",

    Pour ce faire, avez-vous une idée simple ?

    Code du programme :
    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
    41
    42
     
    function selectmontage(braindata, map)
     
        h = size(braindata, 1) ;
        w = size(braindata, 2) ;
        z = size(braindata, 4) ;
     
        nc = ceil(sqrt(z)) ;
        nl = ceil(z/nc) ;
     
        if nargin ==2
            montage(braindata, map, 'Size', [nl nc]) ; 
        else
            montage(braindata, 'Size', [nl nc]) ; 
        end
     
        im = getimage ;
        close(gcf) ;
     
    % Affichage du quadrillage    
        image(im, 'hittest', 'off') ;
        colormap(map) ;
     
        grid on ;
        axis on ;
        axis([0 nc*w 0 nl*h]) ;
     
        set(gca, 'Xcolor',          'r', ...
                 'ycolor',          'r', ...
                 'XTick',           linspace(w, nc*w, nc), ...
                 'YTick',           linspace(h, nl*h, nl), ...
                 'ButtonDownFcn',   @clickbtn, ...
                 'DataAspectRatio', [1 1 1], ...
                 'Hittest',          'on')
     
        set(gcf, 'Color', 'k', 'Pointer', 'Hand') 
     
    %--------------------------------------------------------------------------    
        function clickbtn(obj, evt)
            disp(get(gca, 'currentpoint'))
        end
    end
    Le code d'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    clc ; load mri;selectmontage(D, map);

Discussions similaires

  1. [MFC] affichage image caméra dans un projet dialog
    Par Vestaproman dans le forum MFC
    Réponses: 3
    Dernier message: 07/02/2005, 13h27
  2. [Image] Affichage image en 12 bits
    Par Plawi dans le forum 2D
    Réponses: 9
    Dernier message: 18/11/2004, 09h34
  3. Affichage Image
    Par greg_one dans le forum Composants
    Réponses: 5
    Dernier message: 22/06/2004, 16h10
  4. Problème de mémoire Affichage images
    Par Repti dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/03/2004, 20h06
  5. [Kylix] pb Affichage image .jpg
    Par sioux dans le forum EDI
    Réponses: 4
    Dernier message: 18/01/2004, 19h20

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