A l'aide !
Je m'efforce d'éliminer, via des conditions, toutes les valeurs NaN ou inf qui me pourrissent la vie, mais celles-ci sont partout et se cachent bien !
Avez vous un moyen de les dégager genre NaN | inf = 0
Voici mon code :
et ma commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if diffIm(x,y,posIm) < seuil ADC(x,y,posIm) = 0; elseif log(diffIm(x,y,posIm-bIm+1))/(diffIm(x,y,posIm))/(b(bIm)) == NaN ADC(x,y,posIm) = 0; elseif log(diffIm(x,y,posIm-bIm+1))/(diffIm(x,y,posIm))/(b(bIm)) == inf ADC(x,y,posIm) = 0; elseif log(diffIm(x,y,posIm-bIm+1))/(diffIm(x,y,posIm))/(b(bIm)) == -inf ADC(x,y,posIm) = 0; else ADC(x,y,posIm)=log(diffIm(x,y,posIm-bIm+1))/(diffIm(x,y,posIm))/(b(bIm)); end
Et biensûr l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 factDiffIm(:,:,bIm) = diffIm(:,:,(slice-1)*length(b) + bIm); factADCIm(:,:,bIm) = ADC(:,:,(slice-1)*length(b) + bIm); [A,Psi,T,stats,F_diff] = factoran(reshape(factDiffIm,[],length(b)),3,'normalize',0); [A,Psi,T,stats,F_adc] = factoran(reshape(factADCIm,[],length(b)),3,'normalize',0);
Je suis preneur de toute solution, même consommatrice de temps pour les SUPPRIMER !!??? Error using ==> svd
Input to SVD must not contain NaN or Inf.
Error in ==> factoran at 171
s = svd(qrxR);
Merci à vous
Partager