marksgraham / dw-possum Goto Github PK
View Code? Open in Web Editor NEWSimulate realistic diffusion-weighted MR data
License: MIT License
Simulate realistic diffusion-weighted MR data
License: MIT License
excuse me , I want to know how to simulate the artefacts MRI data?
Dear Mark Graham
I am trying to simulate DW data with artifacts from eddy current, motion and susceptibility distortions.
You said that "We have extended POSSUM to simulate spin-echo sequences, enabling (in combination with this codebase) the simulation of DW-MR data with susceptibility artefacts". So, I have extended my installation of FSL with the files provided in the spin echo possum github and it seems to be ok.
My problem is that I don't really see what to change with the commands of DW-POSSUM to simulate also the susceptibility now that I have SE-Possum. Do I need extra files and is there default files to test ?
For example do I need to change the MRpar manually each time ?
It also seems that I have problems to simulate the motion with DW-Possum. The file 'Test/Distortions/Motion/' stays empty.
Thank you in advance
Simulate DW data will be very useful for my Master's thesis :)
Hi Mark, when I visualize the EPI pulse sequence used for DWI simulation included in your Files
, I saw there're spikes at the beginning and end of all three gradients (Gx, Gy and Gz), I wonder how should I interpret those spikes? For the front ones I guess they are to move to the initial k-space starting point? Which is understandable. But how about the end ones?
From some textbooks it seems there should not be such spikes, so how would these affect simulation results?
Dear Marks Graham,
I have to reopen this issue since I am trying to understand how to run the FSL-POSSUM.
As reference issue #4
I have the same problem.
Even if I change my environment variable FSLDIR to /fsl5.0
I still can not work through step 3.
Here is my output of step 2:
./runPossum.py Test 3
subjectdir is /qmi_home/anht/Desktop/workspace/BIG_protocol/fslPOSSUM/DWPOSSUM_master/Test/Direction0
Making possum directory structure
Preprocessing stage
/raid1b/STBBapps/fsl5.0/bin/possum_matrix -p /qmi_home/anht/Desktop/workspace/BIG_protocol/fslPOSSUM/DWPOSSUM_master/Test/Direction0/pulse -m /qmi_home/anht/Desktop/workspace/BIG_protocol/fslPOSSUM/DWPOSSUM_master/Test/Direction0/motion --seg=1000 -o /qmi_home/anht/Desktop/workspace/BIG_protocol/fslPOSSUM/DWPOSSUM_master/Test/Direction0/matrix
Processing stage
Now going to step 3:
./postProcess.py Test 3 --noise_levels 0 0.0081 0.0165
qmi_home/anht/anaconda3/lib/python3.6/site-packages/dicom/init.py:53: UserWarning:
This code is using an older version of pydicom, which is no longer
maintained as of Jan 2017. You can access the new pydicom features and API
by installingpydicom
from PyPI.
See 'Transitioning to pydicom 1.x' section at pydicom.readthedocs.org
for more information.
warnings.warn(msg)
[0.0, 0.0081, 0.0165]
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/qmi_home/anht/Desktop/workspace/BIG_protocol/fslPOSSUM/DWPOSSUM_master/Test/Direction0/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /qmi_home/anht/Desktop/workspace/BIG_protocol/fslPOSSUM/DWPOSSUM_master/Test/Results/diff_sigma0.0_image0
terminate called after throwing an instance of 'std::runtime_error'
what(): No image files match: /qmi_home/anht/Desktop/workspace/BIG_protocol/fslPOSSUM/DWPOSSUM_master/Test/Results/diff_sigma0.0_image0
I am currently using python 3.7. Is there any way to work around it.
Thank you.
./postProcess.py Test 3 --noise_levels 0 0.0081 0.0165
For example, what is the SNR corresponding to 0.0081
/usr/local/fsl/bin/fsl_sub -T 20 -l /data/jht/DW-POSSUM-master/Test/Direction0/logs -M [email protected] -N possum -t /data/jht/DW-POSSUM-master/Test/Direction0/possum.com
Error submitting job - Errors occured when running array task in shell plugin: Task 1 failed executing: /usr/local/fsl/bin/possum -i /data/jht/DW-POSSUM-master/Test/Direction0/brain -x /data/jht/DW-POSSUM-master/Test/Direction0/MRpar -f /data/jht/DW-POSSUM-master/Test/Direction0/slcprof -p /data/jht/DW-POSSUM-master/Test/Direction0/pulse -m /data/jht/DW-POSSUM-master/Test/Direction0/motion --nproc=1 -e /data/jht/DW-POSSUM-master/Test/Direction0/matrix --procid=0 -o /data/jht/DW-POSSUM-master/Test/Direction0/diff_proc/signal_proc_0 (Image Exception : #22 :: Failed to read volume /data/jht/DW-POSSUM-master/Test/Direction0/brain
Error : Error: ROI out of bounds for /data/jht/DW-POSSUM-master/Test/Direction0/brain.nii.gz
terminate called after throwing an instance of 'std::runtime_error'
what(): Failed to read volume /data/jht/DW-POSSUM-master/Test/Direction0/brain
Error : Error: ROI out of bounds for /data/jht/DW-POSSUM-master/Test/Direction0/brain.nii.gz
)
/usr/local/fsl/bin/fsl_sub -T 10 -j -F -l /data/jht/DW-POSSUM-master/Test/Direction0/logs /usr/local/fsl/bin/possumX_postproc.sh /data/jht/DW-POSSUM-master/Test/Direction0 1
usage: fsl_sub [-h] [-a ARCH] [-c COPROCESSOR]
[--coprocessor_multi COPROCESSOR_MULTI]
[--coprocessor_class COPROCESSOR_CLASS]
[--coprocessor_class_strict]
[--coprocessor_toolkit COPROCESSOR_TOOLKIT] [-F] [-j JOBHOLD]
[--not_requeueable] [--array_hold ARRAY_HOLD] [-l LOGDIR]
[-m MAILOPTIONS] [-M MAILTO] [-n] [-N NAME] [-p PRIORITY]
[-q QUEUE] [-r RESOURCE] [--delete_job DELETE_JOB]
[--extra EXTRA] [-R GB] [-s PARALLELENV,THREADS]
[-t ARRAY_TASK] [--array_native ARRAY_NATIVE] [-x NUMBER]
[--keep_jobscript] [--has_coprocessor COPROCESSOR_NAME]
[--has_queues] [--project PROJECT] [-S] [-T MINUTES]
[--show_config] [-v] [-V] [-z file]
...
fsl_sub: error: argument -j/--jobhold: expected one argument
Hi, I'm trying to use simulated dwi published in https://www.nitrc.org/projects/diffusionsim/ which is said to be generated by DW-possum for experiments with FSL eddy's outlier detection function. There're two parameters required by eddy, index
and acparam
specifying information about phase encoding. What should I input to eddy if I use this simulated DWI? Or does it matter what's the content of these two files if I'm only interested in eddy's outlier detection function?
Hi there, I can run the first two steps without problems, however when it comes to the last step it gives the following error message and I didn't see any generated files under directory /Test/Results
โ DW-POSSUM git:(master) โ ./postProcess.py Test 3 --noise_levels 0 0.0081 0.0165
[0.0, 0.0081, 0.0165]
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction0/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image0
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image0
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction0/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image0
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image0
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction0/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image0
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image0
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction1/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image1
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image1
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction1/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image1
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image1
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction1/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image1
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image1
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction2/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image2
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image2
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction2/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image2
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image2
nx,ny,nz 72 86 1
dx,dy,dz 2.5 2.5 2.5
Reshaping the signal...
error: Mat::operator(): index out of bounds
terminate called after throwing an instance of 'std::logic_error'
what(): Mat::operator(): index out of bounds
mv: cannot stat '/hd2/EE591/project/DW-POSSUM/Test/Direction2/imageNoise_abs.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image2
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image2
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image0
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image0
Aborted (core dumped)
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image0.nii.gz': No such file or directory
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image1.nii.gz': No such file or directory
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0_image2.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image0
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image0
Aborted (core dumped)
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image0.nii.gz': No such file or directory
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image1.nii.gz': No such file or directory
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0081_image2.nii.gz': No such file or directory
Image Exception : #63 :: No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image0
terminate called after throwing an instance of 'armawrap::AWException'
what(): No image files match: /hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image0
Aborted (core dumped)
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image0.nii.gz': No such file or directory
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image1.nii.gz': No such file or directory
rm: cannot remove '/hd2/EE591/project/DW-POSSUM/Test/Results/diff_sigma0.0165_image2.nii.gz': No such file or directory
e.g. numImagesList[0]
rather than numImages
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.