[matlab] modifier figure apres "surf"
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

[matlab] modifier figure apres "surf"



  1. #1
    gorben

    [matlab] modifier figure apres "surf"


    ------

    Salut,

    Je dois utiliser un programme ecrit en matlab pour analyser des photos de microscopie, et j'aimerais changer un peu la facon dont le graph est fait. Le probleme c'est que je n'y comprend pas grand pas chose et que celui qui a ecrit le programme est partis !

    J'inclus le graph. C'est en fait une representation 3D de ma cellule en microscopie avec en x/y les coordonnees de chaque pixels et en z l'intensite de la fluorescence associee au pixel. Le graph est genere via "surf". Ce que je voudrais, c'est virer la partie entouree de l'image (~environ tous signals dont la "normalized intensity" est inferieure a 0.45) et de re-ploter le graph mais cette fois en ayant que la partie superieure (echelle recalculee et allant de 0 a 1).

    Est ce que quelqu'un a une idee pour faire ca? Cela peut etre du bricolage, j'ai juste besoin de faire la manip 2 fois pour deux figures d'un papier.

    Je met le code de la creation du graph au cas ou...
    Code:
    %%%%%%%%%%%%Plotting 3D
    vRNAx=1:1:size(RNA3D,1);
    vRNAy=1:1:size(RNA3D,2);
    
    [xRNA,yRNA] = meshgrid(vRNAx, vRNAy);
    zRNA=RNA3D';
    zRNA=double(zRNA);
    p=(max(max(zRNA)));
    zRNA=zRNA/p;   %normalize to the scale of 0 to 1
    
    vDNAx=1:1:size(DNA3D,1);
    vDNAy=1:1:size(DNA3D,2);
    
    [xDNA,yDNA] = meshgrid(vDNAx, vDNAy); 
    zDNA=DNA3D';
    zDNA=double(zDNA);
    p=max(max(zDNA));
    zDNA=zDNA/p;
    
    [x y]=size(zDNA);
    
    zerosZ=zeros(size(zRNA));
    figure,
    colormap(Jet)
                                 
    camlight left; lighting phong
    
    xlabel('Length Coordinate','FontWeight','bold')
    ylabel('Width Coordinate','FontWeight','bold')
    zlabel('Normalized Fluorescence Intensity','FontWeight','bold')
    hold on
    grid off
    s1=surf(xDNA,yDNA,zDNA,'FaceColor','red','EdgeColor','none','FaceAlpha',1);
    s2=surf(xRNA,yRNA,zRNA,'FaceColor','green','EdgeColor','none','FaceAlpha',1);
    
    c = get(handles.ThresPeak,'String');
    PEAKthres = str2num(c);
    s3=surf(xDNA,yDNA,xDNA.*0+PEAKthres,'FaceColor','white','EdgeColor','none','FaceAlpha',1);
    
    hold off
    Merci !

    -----
    Images attachées Images attachées  

  2. #2
    lou_ibmix_xi

    Re : [matlab] modifier figure apres "surf"

    je sais qu'ils existent les fonctions 'xlim' et 'ylim' permettant de préciser les limites en x et y des graphes, peut-être 'zlim' existe-t'elle?
    Une autre solution moins élégante serait d'agir sur les données, avec quelque chose du genre:
    Code:
    zDNA(find (zDNA < 0.45)) = 0.45;

  3. #3
    gorben

    Re : [matlab] modifier figure apres "surf"

    Citation Envoyé par lou_ibmix_xi Voir le message
    je sais qu'ils existent les fonctions 'xlim' et 'ylim' permettant de préciser les limites en x et y des graphes, peut-être 'zlim' existe-t'elle?
    Une autre solution moins élégante serait d'agir sur les données, avec quelque chose du genre:
    Code:
    zDNA(find (zDNA < 0.45)) = 0.45;
    Super ! Merci pour les infos !

    zlim existe, mais il permet juste (enfin en tout cas entre mes mains) de set le 0 a 0.45. Il ne recalcule pas l'echelle. Ca me donnait donc une echelle 0-0.45-0.5-0.55...

    J'ai rajoute ca dans mon code et c'est parfait :
    Code:
    zRNA=zRNA-55;              
    zRNA(zRNA<0)=0;
    Le 55 c'est en fait la valeur qui correspond a mes 0.45 avant normalisation.

    Encore merci !

  4. #4
    gorben

    Re : [matlab] modifier figure apres "surf"

    Salut,

    J'ai encore un probleme avec matlab et "surf".
    J'ai l'impression que mon image de microscopie reconstituee en 3D via "surf"est une image mirroir de mon image initale... Est ce normal?
    Comment faire pour la re-inverser? J'essaie de montrer des points interessants, mais sur ma photo originale ils partent vers l'arriere du plan alors que sur la reconstitution ils partent vers l'avant... Ca fait bizarre.

    Merci !
    A+

  5. A voir en vidéo sur Futura

Discussions similaires

  1. modifier la présentation de "insérer une pièce jointe"
    Par invite8e75a45c dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 23/12/2008, 20h27
  2. Peut-on "modifier" son orientation sexuelle par la conviction ?
    Par inviteabd41e49 dans le forum Psychologies (archives)
    Réponses: 25
    Dernier message: 13/04/2008, 14h00
  3. Modifier "taux" pour un condansateur
    Par invite2540885a dans le forum Physique
    Réponses: 8
    Dernier message: 02/02/2008, 11h54
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...