Re: ASL toolbox

114 views
Skip to first unread message

Ze Wang

unread,
Feb 10, 2021, 1:54:20 PM2/10/21
to Giannina Rita Iannotti, asltbx-disc...@googlegroups.com
Hi  Giannina, 

------ Original Message ------
From: "Giannina Rita Iannotti" <Giannina...@unige.ch>
Sent: 2/10/2021 8:08:48 AM
Subject: ASL toolbox

Dear Dr Wang,


I m a senior researcher at the University of Geneva, in Switzerland.

I started a project including ASL imaging. In particular I' m using a 2D-dual pCASL (that allows me to acquire ta BOLD image during the labelling image)


I downloaded the resting state data of 1 subject acquired with 2Dpcasl modality.

I' m quite familiar with spm functions and I went through the different steps of all functions implemented in ASL_toolbox.

However, I have some specific questions and I would like to ask for your  valid support:


In the Preprocessing: why the brain mask is estimated twice from the mean (realigned) functional ASL? In other words what is the difference between the images 
      • brainmask.nii obtained from the step batch_filtering
      • brainmask_nat.nii obtained from the step batch_create_mask. 

              They are quite similar.

>> feel free to use just one. The mask here is a rough one for removing background voxels. The one generated from batch_filtering may be a code leftover.



In batch_filtering (ASLtbx_asltemporalfiltering function) you define a butterworth pass-high filter with threshold of 0.4. Since my TR=4sec, do you suggest to take the threshold below 1/TR (for example by substituting 0.4 with 0.2)?
>> 0.4 is in the normalized spectrum (0-1) and 1 corresponds to 1/2TR.  Changing the cutoff should only have a minor effect as the final CBF map is obtained from the highest frequence
for your dual echo data, you may need to reduce the cutoff as the bold signal is in the low frequency band. Alternatively, you can process the asl and bold signal separately


In the function asl_perf_subtract you make a clear point (clear because I understood the formulae by reading also the suggested papers) on the formula and parameters values to be used in case of CASL and pASL. I didn t get which formula/parameters values apply to the case of a pcASL, that I downloaded. Could you, please help me in this?
>> pcasl and casl are using the same model as described in line 858


Do you think that I can apply the formula and parameters values of the pcASL for my sequence (2D-dual pCASL)?
>> yes.



I really hope to have your feedback to advance in my analysis.

Thank you so much

Giannina Rita Iannotti


Ze Wang

unread,
Jul 20, 2021, 8:04:02 AM7/20/21
to Giannina Rita Iannotti, asltbx-disc...@googlegroups.com
HI Giannina,
     You are talking about two related things.  The first is the boundary point processing. The second is related to sinc interpolation.  Any interpolation needs several acquired data points. The sinc interpolation I implemented use 6 points.  Motion can be a concern for sure but may not be a big issue since you do motion correction before interpolation. For big motions, sinc interpolation or other interpolation will make things worse as it will propagate motions to other timepoints.  Surrounding subtraction is also sensitive to motions.

If you do high pass filtering during preprocessing, interpolation is not necessary.

Hope this helps.

Ze

------ Original Message ------
From: "Giannina Rita Iannotti" <Giannina...@unige.ch>
To: "Ze Wang" <red...@gmail.com>
Sent: 7/20/2021 7:48:24 AM
Subject: RE: Re[8]: ASL toolbox

Dear Dr Wang

I have a question regarding the sinc subtraction method implemented in ASL toolbox.
I read again your paper and the one from Agueirre 2002 but I still have some doubts.

I have a pcASL starting from a control image and I want to apply the sinc subtraction (time shift as default=0.5).
By looking in the script of the 'asl_ perf_ subtract' with particular regards to lines 662-800 (~) what I have deduced is that 
the way in which the perfusion is obtain is for example:

- to Label1 subtract an  interpolated control image calculated with C1 C1 C1 C2 C3 C4
-to Label2 subtract an  interpolated control image calculated with  C1 C1 C2 C3 C4 C5

This means that to each label I subtract a control obtained by interpolating 6 control images.

Am I right? If this is the case, is it not to dangerous (in case for example there is motion between two controls) that I do the interpolation on 6 images?
Would you suggest instead the sourronding subtraction, assuming that I subtract to each label the mean control obrtained from 2 consecutive controls?

Thank you so much for your clarifications

Best
G


De : Giannina Rita Iannotti
Envoyé : jeudi, 29 avril 2021 15:43:28
À : Ze Wang
Objet : RE: Re[8]: ASL toolbox
 

Dear Dr Wang 


a simple question to be sure of my preprocessing.

In the script 'spm_realign_asl.m' at line 126 and 147 I see the following comment:

%% ZW  should be switched later to allow different label control order, now assume first image is label.

When the comment says later, it means that I have to adjust when I do the estimation of cbf (in the function 'asl_perf_subtraction.m'?)


My order of images is control, label

I considered the default in 'spm_realign_asl.m' and when later I estimate the CBF I specify that my first image is Control.


Is it fine? 


Thank you so much


G


De : Ze Wang <red...@gmail.com>
Envoyé : mardi, 16 mars 2021 13:29:05
À : Giannina Rita Iannotti
Objet : Re[8]: ASL toolbox
 
From the histograms on the left and the right, it looks like the subtraction order was different in the two ways you compared. The histograms seem to be fliped horizontally. On the right, you got a lot of negative voxels which means that the subtraction order may be wrong as most voxels' perfusion difference should be positive.  "Too small value" seems to be an issue of SPM masking. You can refer to ASLtbx manual for how to avoid that by disabling the default masking option in SPM.

------ Original Message ------
From: "Giannina Rita Iannotti" <Giannina...@unige.ch>
To: "Ze Wang" <red...@gmail.com>
Sent: 3/16/2021 6:49:07 AM
Subject: RE: Re[6]: ASL toolbox

Hi Dr Wang


Thank you for the reply to my previous email.

I have another BUT VERY IMPORTANT question.


When I try to estimate the model (creating the GLM with the output volumes (ex. Perfusion,  CBF)) I got an error message saying

that images values are too small to be evaluated 


I went back to check the values in the images and I have noticed something that I tried to summarize in the image below


1.Before applying the ASL toolbox, I did a 'rawestimation of Perfusion data.

In more details:

  • I separated Control and Label images
  • I did a simple pair-wise subtraction 
  • I smoothed them (6x6x6)
  • Since when I was estimated the GLM model (with my data processed in this way) I was getting the same error message (=too small value for the estimation of the model), I scaled my Control-Label difference by adding to each pair-subtraction (control-label) the mean Control image. This was the only way in which I was able to run the GLM model and I obtained  an activation concordant with what I was expecting from my experiment.
  • In the left side of the image below you can see the distribution of the values of the mean image of the smoothed difference (C_L) corrected by the mean  Control image, which I used in my GLM.

2. I went then on the ASL toolbox asking for the estimation of the perfusion image 
  • with simple subtraction
  • with synch subtraction (that ideally I would like to apply, as suggested in the literature)
  • In the right side of the image you can see the distribution of the values of the mean perfusion image that I obtain from the toolbox, with the two type of subtraction I mentioned above.

Values from my estimation and from the toolbox are very different in scale and maybe the low values obtained from the toolbox are at the origin of my error: GLM cannot be estimated due to the low value of images.
I was wondering if you encountered this type of issue and in the positive case how you manage to deal with the estimation of the GLM. Maybe there is an update of the asl_perfusion_subtraction that I' m missing? 

I hope you can give me  a resolutive feedback. Indeed It would be ideal if I can fix this issue and cite your toolbox in my paper.
If you prefer we can have an interaction (by zoom) or I can share an example of my data to understand better what is going on

Please let me know,
Best

G






De : Ze Wang <red...@gmail.com>
Envoyé : vendredi, 12 mars 2021 15:36:14
À : Giannina Rita Iannotti
Objet : Re[6]: ASL toolbox
 
globalsg_2.txt contains four columns: 1. whole brain (outlier removed) mean perfusion difference at each time point, 2. whole brain (outlier removed) mean cbf at each time point, 
3. whole brain (outlier not removed) mean perfusion difference at each time point,  4. whole brain (outlier not removed) mean cbf at each time point. 
I would use the 4th column since the outlier cleaning was based on a hard thresholding which is obsolete.  You can always calculate the whole brain mean cbf value using your own mask.  Note that regressing out the global CBF fluctuations may affect your results since there may be meaningful global effects in your experiment.
Ze

------ Original Message ------
From: "Giannina Rita Iannotti" <Giannina...@unige.ch>
To: "Ze Wang" <red...@gmail.com>
Sent: 3/12/2021 8:13:58 AM
Subject: RE: Re[4]: ASL toolbox

Hi Dr Wang


do not worry for the 'not functioning' interface in matlab.


Indeed, after having observed the M0 values, in particular in ventricula, I decided to use as M0 input a value.

So this is solved.


I' m in the next step, that is the model estimation.


I have a question: what exactly represent the output file 'globalsg_2.txt'?

I don' t find the complete description of it in the script. By plotting I have the impression that it is linked to the mutual motion between Lab and Control image.


I was than wondering what if I add this file in my SPM model instead of the mutual motion.

I' m afraid to remove all signal..



Could you please comment on this?


Thank you so much


G


De : Ze Wang <red...@gmail.com>
Envoyé : jeudi, 11 mars 2021 19:21:54
À : Giannina Rita Iannotti
Objet : Re[4]: ASL toolbox
 
That should be related to the matlab function polyroi.  I haven't used the GUI version for a while.  Attached is a quick example for how to use separately acquired M0 image for quantification. In batch_perf_subtract.m, you can see that the flag PAR.additionalM0 is turned on and the code will look for the M0 image (defined by the prefix named in PAR.M0filter).  Then everything else is the same as regular pcasl quantification.  You sure should take a look at par.m to change the setting for locating the M0 folder and M0 image. 
If you prefer the interactive GUI based operation, I will take a look in the weekend.

 Let me know any questions.  

Ze

------ Original Message ------
From: "Giannina Rita Iannotti" <Giannina...@unige.ch>
To: "Ze Wang" <red...@gmail.com>
Sent: 3/11/2021 11:32:46 AM
Subject: RE: Re[2]: ASL toolbox

Hi Wang

I finally could go through all the pipeline to preprocess ASL (dual pcASL) data.
I also acquired a dedicated M0 image that I would like to use for the correction.
If I run the function  asl_perf_subtract  to interactively define my parameters and outputs, when I arrive to the step: select the M0 img

I got something completely different from what is reported in the manual of the toolbox.
Indeed the M0 image is open as a Matlab format and I get the  following error that blocks me in drawing my ROI
> In defaulterrorcallback (line 12)
  In asl_perf_subtract (line 571) 
Warning: Error updating Button.
Do you have an idea on why this happens?


If this would not work, I was thinking to draw an ROI and extract the mean value, directly working with the M0 image as matrix in matlab. Of course it would be cool to fix this error and have everything interactive.

Another question concerns the choice of the ROI:
I think elsewhere in your papers you suggest to draw the ROI in the CSF (ventricula would be the best).
Do you confirm this?


Looking forward, I really thank you in advance.

Best

Giannarita


De : Ze Wang <red...@gmail.com>
Envoyé : mercredi, 17 février 2021 18:57:11
À : Giannina Rita Iannotti
Objet : Re[2]: ASL toolbox
 
For the 2D CASL data, control image is used as the surrogate M0. Since your data do not have M0 image as well, you can simply use the scripts for the 2D CASL data in the exemplar set as a start. 
If you want to use the motion parameters, you can consider taking the mean of the parameters of the label images and those of the control images, as well as their difference.
Assume you have loaded the parameters (from all images) into x
then mx= (x(1:2:end, :)+x(2:2:end,:) )/2. ; dx= x(2:2:end, :)-x(1:2:end,:) ;
will get the mean motion and relative motions for you.

------ Original Message ------
From: "Giannina Rita Iannotti" <Giannina...@unige.ch>
To: "Ze Wang" <red...@gmail.com>
Sent: 2/17/2021 9:36:39 AM
Subject: RE: ASL toolbox

Hi Dr Wang


I thank you very much for your useful feedback to my previous questions.


I have 2 another and more important question.

I was running the example of somatosensory CASL data, provided on your website.

  • In particular, I was running line by line the asl_perf_subtraction  function.

Since no dedicate images of M0 are available, I was wondering which value of M0 is used.

In more details I don' t understand the lines from  416 to  427 of the asl_perf_subtraction. At line 479 I understand that a value of M0 is needed (useM0 should be 1) but I don' t understand which choice should be done for M0wmcsfFlag and the consequent values of 20/-20 ; 1000/2000.

This point is extremely important for me. Indeed, for my first 2 pilot subjects I didn' t acquire the M baseline image and I don' t understand which value I should use. I tried also to  disable the field M0wmcsfFlag=-1.

I' m  honestly lost.


  • In the function batch_model , at lines 106-113 I can make possible to load the realignment parameters. Now I assume that this refers to the rp.txt file obtained from the realignment step. The issue is that it has the double size (Lab+contr images), while the SPM model is estimated directly on the cbf volumes.


I hope again in  your precious help.


Many thanks in advance


G




De : Ze Wang <red...@gmail.com>
Envoyé : mercredi, 10 février 2021 19:54:17
À : Giannina Rita Iannotti
Cc : asltbx-disc...@googlegroups.com
Objet : Re: ASL toolbox
 

Ze Wang

unread,
Jul 20, 2021, 8:54:26 AM7/20/21
to Giannina Rita Iannotti, asltbx-disc...@googlegroups.com

Hi again


what exactly you mean with

'If you do high pass filtering during preprocessing, interpolation is not necessary'


interpolation is to match the background signal between control and label. High pass filtering can remove that slowly changing background. that is why nowadays people just do simple subtraction.


I normally do the preprocessing outside the toolbox (with spm buttons to be simple) because I have noticed that all the batch processing of asl toolbox does the same.


Filtering is performed in batch_filtering in ASLtbx which is different from SPM which uses regression to remove the harmonics in specified frequency bands. If you have specified high pass filtering, it should be equally effective.


Am I wrong?


Please, help me in understanding because I tried different acquisition parameters but I have bad results and maybe I m doing something wrong in the analysis of the data...


Thank you so much


G




De : Ze Wang <red...@gmail.com>
Envoyé : mardi, 20 juillet 2021 14:03:59

À : Giannina Rita Iannotti
Cc : asltbx-disc...@googlegroups.com
Objet : Re[10]: ASL toolbox
 

Giannina Rita Iannotti

unread,
Oct 8, 2021, 8:13:53 AM10/8/21
to Ze Wang, asltbx-disc...@googlegroups.com

Hi Dr Wang


I have a question for the modified version of spm_realign function that you provide with the ASL toolbox.


If I got corrected the aim is to remove the 'ziz-zag' pattern intrinsic in the coupled acquisition of control and Label images.

This is done at the line 126 of spm_realign_asl, isn' t it ?


In this line I also see the comment :  %% ZW  should be switched later to allow different label control order, now assume first image is label

I have control-label order.

Should I change here or anyway this information will be taken into account during the specification of the parameters to the asl_perf_subtract?


Thank you for your feedback

Best

G


De : Ze Wang <red...@gmail.com>
Envoyé : mardi, 20 juillet 2021 14:54:22

À : Giannina Rita Iannotti
Cc : asltbx-disc...@googlegroups.com
Objet : Re[12]: ASL toolbox
 

Giannina Rita Iannotti

unread,
Oct 11, 2021, 9:23:04 AM10/11/21
to Ze Wang, asltbx-disc...@googlegroups.com
Dear Dr Wang

I hope that with this email you could help me otherwise I' m stacked with the use of ASL toolbox.

In particular, I have questions regarding the CBF estimation.
I acquired the data with a dual pseudocontinuous  ASL.

I read carefully the function asl_perf_subtraction.m.
Which formula for the CBF estimation should I use?
Indeed, there is a  distinction between the model PASL and CASL. So what for pseudo-continuous ASL?

Also, I should use the default code and do not pay attention to the different formula , for example at lines:


870- 871
892-893


I would really appreciate and benefit from  your precious help

Many thanks

G

De : Giannina Rita Iannotti
Envoyé : vendredi, 8 octobre 2021 14:13:32
À : Ze Wang
Cc : asltbx-disc...@googlegroups.com
Objet : RE: Re[12]: ASL toolbox
 

Ze Wang

unread,
Oct 19, 2021, 7:00:02 PM10/19/21
to ASLtbx discussion board
Dear Rita, 
    Please see below.

On Monday, October 11, 2021 at 9:23:04 AM UTC-4 Giannina Rita Iannotti wrote:
Dear Dr Wang

I hope that with this email you could help me otherwise I' m stacked with the use of ASL toolbox.

In particular, I have questions regarding the CBF estimation.
I acquired the data with a dual pseudocontinuous  ASL.

I read carefully the function asl_perf_subtraction.m.
Which formula for the CBF estimation should I use?
Indeed, there is a  distinction between the model PASL and CASL. So what for pseudo-continuous ASL?

>>>> for PCASL, you should use the formula of CASL.   
Reply all
Reply to author
Forward
0 new messages