Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 30 09:51
  • Oct 30 01:35

    effigies on master

    changed _list_outputs() method … updated affiliation Merge pull request #3265 from o… (compare)

  • Oct 30 01:35
    effigies closed #3265
  • Oct 30 01:35
    effigies closed #3264
  • Oct 29 16:25
    codecov[bot] commented #3265
  • Oct 29 16:24
    codecov[bot] commented #3265
  • Oct 29 16:19
    codecov[bot] commented #3265
  • Oct 29 16:18
    codecov[bot] commented #3265
  • Oct 29 16:17
    codecov[bot] commented #3265
  • Oct 29 15:56
    oliver-contier edited #3265
  • Oct 29 15:56
    oliver-contier opened #3265
  • Oct 29 14:55
    oliver-contier opened #3264
  • Oct 28 09:50
    s2334 commented #3243
  • Oct 27 12:55
  • Oct 27 12:39
    effigies edited #3248
  • Oct 27 12:35
    effigies synchronize #3248
  • Oct 27 12:33
    effigies edited #3263
  • Oct 27 12:22
    effigies commented #3243
matrixbot
@matrixbot
Chris Markiewicz You need to create a node named threshold to connect. Or pass the name of another node.
Divyaashwin
@Divyaashwin

Dear all,
could you please help me out to fix the issue.
I'm working on skull stripping of brain MRI dicom images.
The following program :

################PROGRAM BEGINS

from nipype.interfaces import fsl
from nilearn.plotting import plot_anat
import numpy as np
import os
import matplotlib.pyplot as plt
def bet(in_file, frac = 0.40, robust = True):
fsl.FSLCommand.set_default_output_type('NIFTI_GZ')
skullstrip = fsl.BET()
in_file = in_file
skullstrip.inputs.in_file = os.path.abspath(in_file)
skullstrip.inputs.out_file = os.path.abspath(
infile.replace('.nii.gz',
f'
{frac}_brain.nii.gz')
)
skullstrip.inputs.frac = frac
skullstrip.inputs.robust = robust
return skullstrip
anat_head = 'flair.nii.gz'
fracs = np.arange(0.3,0.75,0.05)
for frac in fracs:
skullstrip = bet(anat_head,frac = round(frac,2),)
skullstrip.run()
print(skullstrip.cmdline)

########################PROGRAM ENDS

getting following error :
Traceback (most recent call last):
File "fsl_bet.py", line 61, in <module>
skullstrip.run()
File "/anaconda3/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 397, in run
runtime = self._run_interface(runtime)
File "/anaconda3/lib/python3.7/site-packages/nipype/interfaces/fsl/preprocess.py", line 162, in _run_interface
runtime = super(BET, self)._run_interface(runtime)
File "/anaconda3/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 781, in _run_interface
% (executable_name, runtime.hostname)
OSError: No command "bet" found on host divya-HP-ProBook-440-G3. Please check that the corresponding package is installed.

matrixbot
@matrixbot
Chris Markiewicz Is FSL installed?
Divyaashwin
@Divyaashwin
yeah sir.
Peer Herholz
@PeerHerholz
are the respective environment variables set in your bashrc/bashprofile (e.g. if you type and run “fsl” within your terminal, does it work)? do you have multiple python environments?
Divyaashwin
@Divyaashwin
yeah sir. If i type fsl within the terminal(BET )works.
Divyaashwin
@Divyaashwin
I have only python3.7.6
Satrajit Ghosh
@satra
does bet work in the terminal (bet flair.nii.gz test) and are you running the python code in the same terminal (or separately through an ide)
Divyaashwin
@Divyaashwin
yeah i checked it worked
Satrajit Ghosh
@satra
are you running the code you posted in the same terminal?
can you do which bet in the terminal that you are running the code in.
Divyaashwin
@Divyaashwin
it echos "/usr/share/fsl/5.0/bin/bet"
Divyaashwin
@Divyaashwin
Dear all!!!!!!!!!!
Thank you so much . Able to fix the issue
Peer Herholz
@PeerHerholz
could you maybe post the solution (for the sake of completness)? on a related note: such question are great for https://neurostars.org/ as more folks will see your post, might be able to help and furthermore other folks with similar problems are able to find your post and thus the potential solution.
Divyaashwin
@Divyaashwin
yeah !!!!!!!!! sure
@Divyaashwin :
Divyaashwin
@Divyaashwin

@Divyaashwin ,
Step 1.

A) FSL installation is must even if we use nipype.interface for brain extration. FSL Installation link -> https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation.
B) Add the following to ~/.bashrc file
. /etc/fsl/5.0/fsh.sh
. ${FSLDIR}/etc/fslconf/fsl.sh
PATH=${FSLDIR}/bin:${PATH}
export FSLDIR PATH

C) After complete installation restart the system.

Step 2: Check the installation :

A) Type FSL and press enter (BET tool (GUI)pops out).
B) In command prompt , type bet inputfilename.nii.gz outfilename

If it work well, then we can use nipype.interface program for multiple slice brain extraction .

susamerz
@susamerz
Hi, I'm really new to nipype, so excuse me if I'm asking stupid questions: Is it possible to iteratively create a fslmath op string during workflow execution. I'm doing MRI analysis and my aim is to create a mask of all voxels with signal in each of a bunch of functional images from different subjects. However I don't want to hardcode how many images there are.
hardcoded I would do something like fslmath img1 -mas img2 -mas img -mas img4 outimg for four input images, where img1 has been binarized before this
christianbos1
@christianbos1
Hello, I'm also new to nipype. What packages do I need to import in order to use DualRegression()?
AishvaryaShri
@AishvaryaShri
@orduek Thank you! :)
Ari Kahn
@ariekahn
Hey, wanted to submit a quick documentation patch, but I'm seeing a number of docstring formats being used (mostly rest and numpy). What's preferred?
Ari Kahn
@ariekahn
for what it's worth, this is for a utility function, not an interface
Zvi Baratz
@ZviBaratz
Hi all! I am mentoring 2-3 students in a python course's final project / hackathon. My lab occasionally uses fsl_anat, which I couldn't find a nipype interface for. I proposed to create such an interface as a project and it was accepted, so I was wondering whether there's interest in trying to make a PR out of it.
As far as I understand there are two logical ways to create such an interface, either by subclassing FSLCommand and making the required modifications, or by checking out the source code and generating a Workflow that imitates it. Personally I think the second option is much more robust, but of course if there is interest in the PR and a strong preference for the FSLCommand method, we will gladly oblige.
Oscar Esteban
@oesteban
If you take the workflow route (which also makes more sense to me), please consider building it as a niflow (https://github.com/niflows)
niflows will basically give you a workflow manager so it can be installed as an individual application
ping @effigies for further information
Yasmin Aljedawi
@jasminej90
Hello, I am new to nipype. Can I use it with anaconda 3.7? Or is it strict to 2.7 (since FSL is compatible with python 2.7 only but not 3.X)?
Peer Herholz
@PeerHerholz
@jasminej90 yeah, nipype is a workflow enginge and “only” wraps FSL (and many other) functions. As long as your FSL installation can be sourced respectively, you should be good to go. Also, for such questions we recommend to use neurostars.org wrt archiving and findability.
Sudhakar Tummala
@tummala_gitlab
Hello all, is it possible to use T2 or FLAIR images along with T1 for SPM segment? I could not see an option at the moment in Nipype, if anybody has used it, please let me know.
Sudhakar Tummala
@tummala_gitlab
which version of Nipype has got MultiChannelNewSegment?
Ben Velie
@veliebm
hi guys! i'm struggling to transfer my pi's lab to nipype. he said nipype can automatically determine the best interface for any preprocessing step. for example, if afni has the best blurring step, then nipype should automatically use afni's interface to blur our images. but i've been fiddling with the software for a week now and i haven't figured out how to get it to do that. can nipype actually choose the best interfaces on its own?
appreciate your time 🙂
matrixbot
@matrixbot
Chris Markiewicz Nipype gives you the ability to easily switch from one tool to the other, if you decide one is better, but nipype has no way to determine "best" or automatically switch. You could create a workflow that performs several steps, and then selects one result using some objective function...
Ben Velie
@veliebm
rats! oh well. thanks for answering me!
Abdul Sayyed
@AbdulSayyed
Hi, I am new to nipype and trying to follow a given example but when I read a file using BET interfaces I constantly get a trait error.
TraitError: The 'in_file' trait of a BETInputSpec instance must be a pathlike object or string representing an existing file, but a value of '/home/sayyed/neuro-science/projects/nikola/mysite/notebooks/data/ds000114/sub-01/ses-test/anat/sub-01_ses-test_T1w.nii.gz' was specified.
Any help !
from nipype.interfaces.fsl import BET
skullstrip = BET(in_file=fileInput)
res = skullstrip.run()
print(res.outputs.out_file)
matrixbot
@matrixbot
Chris Markiewicz If that's a datalad dataset, it's possible that the data is not fetched. Can you open that file with any other tool?
Abdul Sayyed
@AbdulSayyed
Yes I can open it if I move the file to my current directory
matrixbot
@matrixbot
Chris Markiewicz I'm not sure I understand. Does something prevent you from opening in its initial location?
Abdul Sayyed
@AbdulSayyed
on line 2 above skullstrip = BET(in_file = fileInput) it throws the above error
matrixbot
@matrixbot
Chris Markiewicz Sorry, I was unclear. I meant, why do you need to move the file to your current directory to open it? What are you using to open it?
Abdul Sayyed
@AbdulSayyed
I am not moving it, I am trying to read it where it is but it does not read it from the original location, for some reason it says that a path like object is expected .. but the value of ... is specified
matrixbot
@matrixbot
Chris Markiewicz
What do you get if you run: ls -AFl /home/sayyed/neuro-science/projects/nikola/mysite/notebooks/data/ds000114/sub-01/ses-test/anat/sub-01_ses-test_T1w.nii.gz
Abdul Sayyed
@AbdulSayyed
The file is in the directory /data/ds000114/sub-01/ses-test/anat/sub-01_ses-test_T1w.nii.gz but the function does not treat it an acceptable path.
matrixbot
@matrixbot
Chris Markiewicz Ah. What is fileInput, then? Is there a chance that you're missing an initial /?
Abdul Sayyed
@AbdulSayyed
Thanks I got the point it is link pointing to another location let me deal with it , if any problem I will come back many thanks