-
-
Notifications
You must be signed in to change notification settings - Fork 5
Première version corrigé SWFM - fonctionnel #171
base: master
Are you sure you want to change the base?
Conversation
.ssh
Outdated
@@ -0,0 +1,49 @@ | |||
-----BEGIN OPENSSH PRIVATE KEY----- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jcohenadad security alert, might want to reset the ssh key this is for.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mathieuboudreau Why the security alert?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This appears to be a private SSH key for something. They aren't supposed to be shared online, because then anyone that downloads that key might be able to access whatever service or computer this is for. It's akin to accidentally uploading a password, basically.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's likely @alexandrebiomed's private key, so if they don't have it secured with a passphrase, anyone can use this key to SSH into a server that @alexandrebiomed was given SSH access to, signing in with their account.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if it's the private SSH key for Alexandre's computer (if someone found his IP address, they could then access his computer), or one of the lab computers? @alexandrebiomed do you know?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are definitely bots that crawl GitHub looking for this kind of stuff, so any servers that private key's public counterpart has been added to needs to revoke @alexandrebiomed's access ASAP if they're connected to the Internet (vs an intranet), especially if those accounts have sudo access to those servers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alexandrebiomed indeed you should remove these ssh keys. also remove other files that should not have been pushed such as the pathdef and the nii files. then squash those commits so they don’t end up in the git history
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm really sorry for this inconvenience. I just want to make sure that I've understood what I have to do before doing anything.
What I did wrong was that I created a SSH key without choosing any password while I should have chosen one ?
I simply have to delete the SSH key I created with all the files related to it ? Then create a new SSH key, but this time with a password ?
@jcohenadad Should I use git revert to squash the commits ?
Thank you for your help.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I did wrong was that I created a SSH key without choosing any password while I should have chosen one ?
no. what you did wrong was pushing your SSH key to git. You probably misread the instructions and created the .ssh folder inside your git repos, instead of in your home: ~/.ssh
.
before using git, please do a few tutorials.
@jcohenadad Should I use git revert to squash the commits ?
remove the file, then do interactive rebase and squash to remove the problematic file(s) from the history. How to do it
I suggest using the same approach as what is used in bkgrnd_noise.m. To understand why, I suggest reading up this paper. bkgrnd_noise.m will return the average standard deviation across all echoes, which you do not want, so you can implement your own version in your code. |
Bonjour Eva,
Je viens de consulter plus profondément ton mail sur mon calcul de FM. Je ne comprends pas la différence entre magnitude et absolute value. Qu'entends-tu par absolute value ?
Selon moi, la valeur absolue d'un complexe donne la magnitude non ?
Alexandre.
…________________________________
De : evaalonsoortiz <[email protected]>
Envoyé : mardi 17 novembre 2020 03:04
À : shimming-toolbox/shimming-toolbox-matlab <[email protected]>
Cc : alexandrebiomed <[email protected]>; Mention <[email protected]>
Objet : Re: [shimming-toolbox/shimming-toolbox-matlab] Première version corrigé SWFM - non fonctionnel (#171)
In Eq. 6, which you partially implement here<https://github.com/shimming-toolbox/shimming-toolbox-matlab/blob/28feb9a9a9761fa7f72085366818c4c76e7e4fe4/%2Bimutils/%2Bb0/SWFM_FF.m#L51>:
FM(:,:,:,t)=mag_data(:,:,:,t)./magtotal;
you need to divide the absolute value (not the magnitude) of the signal by the sum of the absolute value (not the magnitude) over all echo times.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#171 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/APU2W2LK2PELHEMZB4CJ3JLSQFESVANCNFSM4TVCZYOA>.
|
J'ai écrit de nouveau mon algorithme en considérant cette fois la somme à l'extérieur de l'accolade., comme discuté avec @evaalonsoortiz. J'ai donc essayé de retravailler sur le calcul du facteur FB correspondant au facteur de bruit dans le SDQWF « Signal Decay Quality Weight Factor», en me basant sur l'algorithme background_noise que j'ai réécrit et adapté sous le nom de Csigma pour «calcul sigma» ( Voir mon dernier push). Je ne suis pas sûr de mon algorithme Csigma, mais ce qui est sûr c'est que les résultats obtenus sont toujours faux. Pourrais-tu regarder l'algorithme Csigma et me dire ce que tu en penses ? Je suis pas non plus certain de la taille de sigma, est-ce un vecteur sigma(echo) ? |
|
I had a quick look at the output of your Csigma.m, and the first thing I noticed is that the output is an array that is TE x TE, whereas it should be 1 x TE. That may or may not be introducing some error further down. To debug Csigma, I suggest you verify that the noise it outputs gives you the SNR you initially used to generate your simulated data. As for the algorithm itself and the arctangent operation: To debug this step you could make sure you are able to replicate the conventional atan2 operation and get a field map that makes sense with only 2 echoes. Then, then next step could be to add the "modified" atan2 but still with only 2 echoes, so you are not dealing with a sum at all. |
J'ai terminé, relu et corrigé ma première écriture de l'algorithme SWFM mais les résultats obtenus sont toujours faux et donc il doit y avoir une erreur dans le code ( erreur de débuggage ou erreur de compréhension ).
Je vais faire une description claire de mon algorithme et souligner les parties que je pense être la raison des mauvais résultats.
( lignes 24 à 35 )
Tout d'abord je commence par initialiser les paramètres et créer mes données Xt (correspondant au t-ième temps d'echo) à partir du volume complexe.
( lignes 45 à 73)
Ensuite je commence le calcul du facteur de décroissance de la qualité du signal SDQWF à partir de la formule (6) de l'article ( sur le document de l'article, c'est le facteur psi_j). De la même manière, je pense que mes calculs sont globalement justes, cependant, j'ai un léger doute quant à l'utilisation de la bonne fonction pour calculer sigma_j : j'utilise la fonction stdfilt.
( lignes76 à 79 )
Le produit X1Xj est utilisé dans l'équation (5) de l'article donc je le calcul.
( lignes 82 à 111 )
Maintenant je peux calculer le terme à l'intérieur de la fonction arctan dans l'équation (5) que j'appelle «somme». Les éléments sommés selon l'indice j sont appelés «sommable». Pour faire la distinction entre somme et sommable voici une image :
( lignes 82 à 111 )
Cependant, sommable est exprimé différement sous certaines conditions comme le montre l'image précédente. Donc je créer sommable1,sommable2 et somme1,somme2 pour les deux premières équations de l'image précédente, et correspondant au condition cond1 et cond2 respectivement ( voire paragraphe suivant pour cond1 et cond2).
Sommable et somme sont calculés différemment selon différentes conditions comme présenté à l'équation (5). Pour faire le lien entre les variables cond1,cond2,cond3,cond4,cond5 et les conditions données voici une image :
(lignes 161 à 227)
La fonction atan2() prend deux arguments en entrée. Or, avec somme, je n'ai qu'un seul argument. Je procède donc à la création d'un set de deux variables Xco et Yco associés à somme. La méthode que j'ai employé pour faire ça est la suivante : je pose tan(somme)=Yco/Xco et j'impose une norme égale à 1 sqrt(Xco^2+Yco^2))=1.
Avant de procéder à la création de ce set de coordonnées, je peux faire en sorte que somme soit compris entre 180 et -180 car la fonction tan est pi-périodique (180 degré périodique).
Pour plus de clareté sur les calculs voici la démarche détaillée.
C'est à partir de là que je suppose qu'il y a une erreur, j'explique ma pensée au prochain paragraphe.
(lignes 229 à 247)
Enfin, avec ce set de coordonnées, je veux calculer le champ magnétique b0. Et c'est cette étape qui me pousse à postuler qu'il y a une erreur dans l'écriture de l'équation (5) de l'article. En effet, l'expression de b0 n'est pas supposée dépendre de j (correspondant au "j-ième temps d'echo"), alors que selon leur expression c'est bien le cas.
De plus, il y a une confusion possible avec l'indice de sommation aussi appelé j.
On voit bien dans les lignes 229 à 245 que l'indice t présent dans les conditions est de trop, mais on ne peut pas le retirer.