GithubHelp home page GithubHelp logo

Comments (13)

hcmh avatar hcmh commented on September 27, 2024

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.

mjherold avatar mjherold commented on September 27, 2024

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.

jtamir avatar jtamir commented on September 27, 2024

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.

mjherold avatar mjherold commented on September 27, 2024

Thank you Jon! Would you mind sharing your Makefile?

Thanks,

Michael

from bart.

jtamir avatar jtamir commented on September 27, 2024

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.

mjherold avatar mjherold commented on September 27, 2024

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.

mjherold avatar mjherold commented on September 27, 2024

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.

hcmh avatar hcmh commented on September 27, 2024

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.

mjherold avatar mjherold commented on September 27, 2024

from bart.

hcmh avatar hcmh commented on September 27, 2024

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.

hcmh avatar hcmh commented on September 27, 2024

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.

mjherold avatar mjherold commented on September 27, 2024

from bart.

mjherold avatar mjherold commented on September 27, 2024

from bart.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.