Comments (13)
Hi Michael,
could you try again with the commits I just pushed? They seem to work for our VE data. But you are right, previously, bart would not read newer Siemens data correctly.
Best regards,
Christian
from bart.
Hi Christian:
Thank you very much for getting back about this problem!
It looks to me like the in include in read.h of the ismrm subfolder should say #include "ismrm/ismrmrd.h" instead of "ismrmrd/ismrmrd.h" or one can create a symbolic link named isrmrmrd pointing to ismrm. At least this got me further along the compilation chain. Also the .h files ismrmrd.h and export.h were missing. I copied them to the ismrm subfolder of ~/bart/src. But maybe this all led to the next problem...
When I try to compile bart with gcc-11 under OS X I (for x86_64 arch) get an error saying:
Undefined symbols for architecture x86_64:
"_ismrm_read_encoding_limits", referenced from:
_ismrm_read_dims in libismrm.a(read.o)
"_nlop_tf_create", referenced from:
_opt_reg_configure in libgrecon.a(optreg.o)
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[1]: *** [bart] Error 1
I am probably doing something wrong here ... but I did not seem to have this problem with the previous version when I compiled under OS X.
Compilation under Ubuntu is in comparison smooth sailing, but it seems the problem got worse as I get core-dumps with all raw .dat files I try using the new version of bart.
cmr@cmr-gadgetron:~/bart_0.7$ ./bart version
WARN: BART version is not reproducible.
v0.7.00-526-g093559f-dirty
cmr@cmr-gadgetron:~/bart_0.7$ ./bart twixread ~/rawdat/meas_MID00331_FID30508_3PL_LOC.dat test
WARN: BART version is not reproducible.
VD Header. MeasID: 331 FileID: 30508 Scans: 2
Patient: xxxxxxxxxxxxxxxxxxxxxxxxxx
Protocol: 3PL LOC
WARN: Wrong number of samples: 1 != 0.
WARN: Stopping.
cmr@cmr-gadgetron:~/bart$ ./bart version
v0.7.00-529-g50905f7
cmr@cmr-gadgetron:~/bart$ ./bart twixread ~/rawdat/meas_MID00331_FID30508_3PL_LOC.dat test
VD/VE Header. MeasID: 331 FileID: 30508 Scans: 2
Patient: xxxxxxxxxxxxxxxxxxxxxxxxxx
Protocol: 3PL LOC
ERROR: Incorrect number of ADCs read! ADC count difference: 1 != 0!
Aborted (core dumped)
Any help would be much appreciated!
Thank you! and best regards,
Michael
from bart.
Hi Michael and Christian,
I was able to confirm this works for data from XA both on Linux and Mac, where the previous commit 093559f did not work correctly. Note I did not try to install ISMRMRD. I used gcc11 on Mac.
from bart.
Thank you Jon! Would you mind sharing your Makefile?
Thanks,
Michael
from bart.
For Mac using Macports, my Makefile is the same as https://github.com/mrirecon/bart/blob/master/Makefile
I have the following local Makefile:
~/bart $ cat Makefile.local
PARALLEL=1
CC=gcc-mp-11
You might want to try make allclean
followed by make
from bart.
Thank you Jon!
Just managed to compile bart under OS X.
Still get errors with .dat files acquired under VE11E on Siemens Aera and Siemens Prisma scanners.
PHS010803:bart mj847$ ./bart version
WARN: BART version is not reproducible.
v0.7.00-529-g50905f7-dirty
PHS010803:bart mj847$ ./bart twixread -A /Volumes/MICHAEL/meas_MID00310_FID287610_LOCALIZER.dat test
WARN: BART version is not reproducible.
Assertion failed: ((0 < hdr->nscans) && (hdr->nscans < 30)), function siemens_meas_setup, file src/twixread.c, line 79.
Abort trap: 6
PHS010803:bart mj847$ ./bart twixread -A /Volumes/MICHAEL/Aera_L1_June_2022/meas_MID07247_FID347202_3PL_LOC.dat test
WARN: BART version is not reproducible.
VD/VE Header. MeasID: 7247 FileID: 347202 Scans: 2
Patient: xxxxxxxxxxxxxxxxxxxxxxxxxx
Protocol: 3PL LOC
ERROR: Could not automatically determine dimensions, adc read error!
Abort trap: 6
from bart.
For reference I used "siemens_to_ismrmrd" to read the raw data file giving trouble with bart.
PHS010803:bart mj847$ siemens_to_ismrmrd -z 2 -f '/Users/mj847/Downloads/Siemens raw/meas_MID00186_FID30751_MOLLI_5_3_1.dat' test
Siemens file is: /Users/mj847/Downloads/Siemens raw/meas_MID00186_FID30751_MOLLI_5_3_1.dat
Output file not specified -- using /Users/mj847/Downloads/Siemens raw/meas_MID00186_FID30751_MOLLI_5_3_1.mrd
-----------------------------------------------------------------
Converting measurement 2 into file /Users/mj847/Downloads/Siemens raw/meas_MID00186_FID30751_MOLLI_5_3_1.mrd in group dataset
-----------------------------------------------------------------
Using parameter map: IsmrmrdParameterMap_Siemens.xml
This file contains 2 measurement(s).
VD line file detected.
Protocol name [1]: AdjCoilSens
Protocol name [2]: T1Map_MOLLI_5_3_1_for_pre_and_post_contrast
Number of parameter buffers: 6
Buffer Name: Config
Buffer Name: Dicom
Buffer Name: Meas
Buffer Name: MeasYaps
Buffer Name: Phoenix
Buffer Name: Spice
Trajectory is: 1
Failed to find YAPS.lFirstFourierPartition array
center_line = 67
center_partition = 0
Baseline: N4_VE11E_LATEST_20181129
Software version: syngo MR E11
Protocol name: T1Map_MOLLI_5_3_1_for_pre_and_post_contrast
Dwell time: 2200
Using parameter XSL: IsmrmrdParameterMap_Siemens.xsl
Study time: 13:08:54
Last scan reached...
PHS010803:bart mj847$ ./bart version
WARN: BART version is not reproducible.
v0.7.00-529-g50905f7-dirty
PHS010803:bart mj847$ ./bart twixread -A '/Users/mj847/Downloads/Siemens raw/meas_MID00186_FID30751_MOLLI_5_3_1.dat' test
WARN: BART version is not reproducible.
VD/VE Header. MeasID: 186 FileID: 30751 Scans: 2
Patient: xxxxxxxxxxxxxxxxxxxxxxxxx
Protocol: T1Map_MOLLI_5_3_1_for_pre_and_post_contrast
ERROR: Could not automatically determine dimensions, adc read error!
Abort trap: 6
As I managed to compile bart with ISMRM=1 I could first convert to ismrm format and then use that file with bart. I was still hoping to get the twixread function in bart to work with these files...
from bart.
Well, then it seems that there are still issues with the support for VE. Would it be possible to get access to a dataset that does not work? For example by e-Mail? If these are human data, maybe a phantom measurement would be more appropriate to share.
But with such a dataset I could try to iron out remaining bugs in twixread.
from bart.
from bart.
Hi Michael,
Unfortunately, this is public. You could share the link to [email protected] , then I will take a look.
Best wishes,
Christian
from bart.
Thank you for the data!
Now, twixread should be able to read those datasets. If you find others that do not work, please reopen this issue or raise a new one.
Best wishes,
Christian
from bart.
from bart.
from bart.
Related Issues (20)
- assignment twice
- return statement boolean
- declaration different vs definition HOT 1
- How to install packages without sudo access HOT 1
- slow ecalib HOT 5
- identical condition HOT 2
- CFL file error HOT 1
- Compile fail on Mac OS X with gcc12 - conflicting types for 'FILE'
- uint error again
- Nufft with DFT option not running on GPU HOT 1
- Newer GPUs needs additional nvcc arguments HOT 7
- M1 Mac compile error: "Makefile:23: *** missing separator. Stop." HOT 28
- Seek help HOT 1
- make error: fatal error: lapacke.h: HOT 3
- Questions: In SCC coil compression, why eigen decomposition of covariance instead of SVD ? HOT 1
- Style identical include HOT 1
- Bart pics with GPU generates only empty output when compiled with cuda 12.5.1, works with cuda 12.0.0 HOT 1
- CUDA – memory spanning multiple devices and a question about cuda_global_memory HOT 1
- identical line
- statement redundant
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bart.