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

MATLAB Discussion :

interprétation code matlab


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 64
    Par défaut interprétation code matlab
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    cP = ['/d1/data/Petra/rat5/canonical_T2.img';...
          '/d1/data/Petra/LFF4/canonical_T2.img';...
          '/d1/data/Petra/rat3/canonical_T2.img';...
          '/d1/data/Petra/rat4/canonical_T2.img';...
          '/d1/data/Petra/rat6/canonical_T2.img'];
    cP = spm_vol(cP);%on recup un vecteur de structures
    cdata = spm_read_vols(cP);% cdata de la forme [ Y, XYZ], on aura en sortie(matrice 4D des données d'image, matrice 3*N des X Y Z de retour
    for i=1:length(cP)% pour chaque structure de cP
       maxval(i) = max(max(max(cdata(:,:,:,i)))); 
       cdata(:,:,:,i) = cdata(:,:,:,i) / maxval(i);
    end
    que vaut dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maxval(i) = max(max(max(cdata(:,:,:,i))));
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 64
    Par défaut
    si je comprends bien alors:
    je prends à chaque fois le max sur ma matrice 4*4et je remplace les valeurs minimales successivement par la valeur de i

    c'est bien ça ou pas??

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Non, tu prends la valeur maximum de cdata(:,:,:,i) et tu normalises cdata(:,:,:,i) par cette valeur (la plus grande valeur de cdata(:,:,:,i) deviendra 1), et tu le fait pour chaque i.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 64
    Par défaut
    Merci.
    j'avais comrpis qu'il s'agissait de normalisation.
    en fait ce qui m'echape c'est le fonctionnement du max(vect(:,:,1)).
    comment réussir à le faire toute seule sur une matrice.

    je vais essayer encore de chercher, ça m'embete de comprendre des choses simple comme ça, pour mieux comprendre mon code!!!

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Un exemple :

    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
    >> g = rand(4,4,3)
    
    g(:,:,1) =
    
        0.4634    0.8760    0.9790    0.7575
        0.3362    0.4877    0.8633    0.8974
        0.3091    0.3051    0.3307    0.2394
        0.4017    0.4940    0.4704    0.7895
    
    
    g(:,:,2) =
    
        0.4674    0.4389    0.1414    0.5822
        0.8565    0.4621    0.5368    0.2969
        0.4597    0.0311    0.3823    0.3852
        0.6724    0.1569    0.4124    0.6749
    
    
    g(:,:,3) =
    
        0.1552    0.2664    0.8727    0.5646
        0.3005    0.2764    0.6728    0.0440
        0.3689    0.1433    0.2698    0.6422
        0.6436    0.3400    0.1716    0.7154
    Si on recherche le max de g(:,:,2) (en rouge):
    On applique le max plusieurs fois car la fonction max renvoie le maximum de chaque colonne lorsqu'on lui met une matrice en entrée. (donc dans ce cas, il faut à nouveau prendre le max des max de chaque colonne)

    Dans ton cas tu as une matrice 4-dimensions, donc chaque cdata(:,:,:,i) est une matrice 3-D, c'est pourquoi on applique 3 fois la fonction max pour obtenir le maximum de cette matrice 3-D.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

Discussions similaires

  1. interprétation code matlab[2]
    Par arni63 dans le forum MATLAB
    Réponses: 4
    Dernier message: 28/07/2010, 15h41
  2. interprétation code matlab
    Par arni63 dans le forum MATLAB
    Réponses: 8
    Dernier message: 26/07/2010, 11h25
  3. interprétation code matlab
    Par arni63 dans le forum MATLAB
    Réponses: 4
    Dernier message: 23/07/2010, 13h06
  4. Utilisation du code MATLAB dans environnement .NET
    Par SOPRA-Eherve dans le forum MATLAB
    Réponses: 5
    Dernier message: 28/11/2006, 12h43
  5. DCT & code matlab
    Par meera dans le forum Images
    Réponses: 3
    Dernier message: 19/07/2006, 16h02

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