I am trying to replicate the output of this fsl command line code:
bet2 <example_func.nii.gz> -f 0.3 -n -m
But nipype fsl-interface can only call bet:
from nipype.interfaces import fsl
bet = fsl.BET(mask=True, no_output=True, frac=0.3,)
bet.inputs.in_file = <example_func.nii.gz>
which generate command line: bet <mean_image.nii> -f 0.3 -n -m
According to this FSLArchive post, bet is essentially the same as bet2. However, they are not. The mask output by these 2 are a little bit different.
Hi @adowaconan, thank you for the question!
Nipype has wrapper only for the bet
command, but FSL doc claims that bet
calls bet2
as default.
I also double checked help for the bet
and bet2
commands and it looks to me that -f
, -n
and -m
are the standard option for bet2
command even if you call bet
, so my understanding is that the commands bet2 <example_func.nii.gz> -f 0.3 -n -m
and bet <example_func.nii.gz> -f 0.3 -n -m
should give exactly the same output.
Can you provide specific version of FSL and example where you see the difference
Hi,
As I was trying to replicate the differences between bet and bet2 on the same data, “mean_func.nii.gz”, they both create the same mask. I figured out the difference between the FSL GUI pipeline (https://drive.google.com/open?id=0Byi3MxtlbIWUWVlUY1dqeVJNdWFDWTMxUFczN20xaTNYbFp3) and the one I implemented with nipype (https://drive.google.com/open?id=0Byi3MxtlbIWULWpWdE9ZZ2x3eVFjN1ZhMm9HdWJkWVdXNFlB) must come from different nodes.
I have been testing these script with this data: https://drive.google.com/open?id=1lKgfvYKbu3NTR_xYybPal9o0vDSHxNEF on my google drive.
Thank you very much for your time and patience.
Adowaconan
@adowaconan - ok, so I understand that the issue with bet2
is solved. If you have more question about nipype implementation, please let me know.
I don’t know enough FSL GUI to take a guess, why the results are different.