Giter VIP home page Giter VIP logo

ge_to_ismrmrd's Introduction

Build Status

ISMRM Raw Data Format (ISMRMRD)

A prerequisite for sharing magnetic resonance (imaging) reconstruction algorithms and code is a common raw data format. This repository describes such a common raw data format, which attempts to capture the data fields that are required to describe the magnetic resonance experiment with enough detail to reconstruct images. The repository also contains a C/C++ library for working with the format. This standard was developed by a subcommittee of the ISMRM Sedona 2013 workshop and is described in detail in:

Inati SJ, Naegele JD, Zwart NR, Roopchansingh V, Lizak MJ, Hansen DC, Liu CY, Atkinson D, Kellman P, Kozerke S, Xue H, Campbell-Washburn AE, Sørensen TS, Hansen MS. ISMRM Raw data format: A proposed standard for MRI raw datasets. Magn Reson Med. 2017 Jan;77(1):411-421.

Please cite this paper if you use the format.

Please the ISMRMRD documentation for details.

ge_to_ismrmrd's People

Contributors

jad11nih avatar roopchansinghv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ge_to_ismrmrd's Issues

No access to Orchestra SDK

Hi,

I don't seem to have any access to Orchestra SDK. Is there any particular way to access the SDKs? Also, are there any alternatives to using the GE to ISMRM conversion library without using Orchestra?

Thanks and regards,
Riti

Error building ge_to_ismrmrd

Hello! Through a lot of debugging (many thanks to some of the previously raised issues here), I was able to install the base ismrmrd. At least through my experience, I needed gcc 4.9.0 to complete the installation--there seem to be breaking changes with versions of gcc that are too far ahead, as with gcc version 12.2.0 the installation failed with what I figured out were gcc version specific errors. Dropping this information here in case it helps anybody else with faster installation, but these are the changes I needed to make to the CMakeLists.txt file to get everything to work:

    set(CMAKE_C_FLAGS               "${CMAKE_C_FLAGS} -std=c99 -Wall")
    set(CMAKE_CXX_FLAGS          "${CMAKE_CXX_FLAGS} -w -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -L path_to_gcc_lib64_folder -lstdc++ -lboost_program_options")
	message(${CMAKE_C_COMPILER})
	message(${CMAKE_CXX_COMPILER})

And this is the cmake command that I ran to compile:
cmake -D build4GE=ON -D CMAKE_INSTALL_PREFIX=$ISMRMRD_HOME -D CMAKE_C_COMPILER=path_to_bin_gcc -D CMAKE_CXX_COMPILER=path_to_bin_g++ ..

Having installed ismrmrd, however, I am running into issues installing ge_to_ismrmrd. Specifically I am getting this error and am lost as to how to debug:

$ make install
[ 14%] Building CXX object src/CMakeFiles/g2i.dir/GERawConverter.cpp.o
.../ge_to_ismrmrd/src/GERawConverter.cpp: In member function ‘std::string GEToIsmrmrd::GERawConverter::ge_header_to_xml(GERecon::Legacy::LxDownloadDataPointer, GERecon::Control::ProcessingControlPointer)’:
.../ge_to_ismrmrd/src/GERawConverter.cpp:246:73: error: ‘OtherUID’ is not a member of ‘GEDicom::UID’
     writer.formatElement("OtherUID", "%s",         GEDicom::UID::Create(GEDicom::UID::OtherUID).c_str());
                                                                         ^
.../ge_to_ismrmrd/src/GERawConverter.cpp:303:73: error: ‘Equipment’ is not a member of ‘GEDicom::UID’
     writer.formatElement("UID", "%s",              GEDicom::UID::Create(GEDicom::UID::Equipment).c_str());
                                                                         ^
make[2]: *** [src/CMakeFiles/g2i.dir/GERawConverter.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/g2i.dir/all] Error 2
make: *** [all] Error 2

Some ideas I have had are checking the BOOST and OpenSSL versions that are being used, but those haven't solved this error (although I am admittedly a novice working with cmake so I might not have been implementing those changes in the correct way). And ideas as to what the issues could be?

System Info:
-Orchestra 2.1
-GCC 4.9.0 compiler
-BOOST 1.74
-OpenSSL 1.1.1
-Linux 7.9 (Maipo)

Any help would be appreciated!

Errors when converting GE Raw data

Hi,

I have been able to successfully create the setup for GE conversion repo following the steps provided here. However, for some of the files the converter fails with the following error:
Screen Shot 2021-12-31 at 8 28 40 AM

System specifications:
Ubuntu 18.04
Orchestra 2.0
openssl 1.0.0

It's be great if anyone can provide any information regarding what could be a possible cause behind this issue. Thanks in advance!

Where are "passes" looped?

Hi,

I have converted some GE Scanarchives with several "passes", as GE calls them. In Orchestra, all passes can be recovered from the Scanarchive. However, after conversion to ismrmrd, I do not find the passes except for the first - the corresponding slices of further passes contain 0's. Tried in Matlab and Python.
While there are the variables contrasts and repetitions with values > 1 in encoding.encodingLimits, there is no data for contrast and repetition > 1 (i.e., only 0's). There are no other encodingLimits that could be looped through.

System version is DV26.0_R05_2008.a
Orchestra used with ge_to_ismrmrd: 1.7

Issues with building ISMRMRD with Orchestra HDF5 on Ubuntu. [Was: Issues on different linux systems. Docker?]

Hi,

we have tried to compile the ge_to_ismrmrd tool on Sun Linux with different gcc (4.9, 6.3, and 8.1) and cmake (3.11 and 3.15) versions. On another system (Ubuntu 18), we did not get past errors while linking the ismrmrd package. Orchestra is 1.7.
While (on Sun, step ge_to_ismrmrd) the including of libxslt could be done manually (out of the box: "missing: LIBXSLT_LIBRARIES LIBXSLT_INCLUDE_DIR"), we do not get past
"Could NOT find Ismrmrd (missing: ISMRMRD_LIBRARIES)".
the installation of ismrmrd with a path in my home directory was successful though (I have no sudo rights on this system).

I could find another issue where you suggest the use of docker containers. I found https://github.com/roopchansinghv/dockerImage4DevMR
Can you give us a little more guidance on how to use that?

Thanks
Bruno

Building ISMRMRD with GE's libraries

While trying to build ge_to_ismrmrd, I faced the following error multiple times.

Screen Shot 2021-10-25 at 10 59 38 PM

I remember from your previous reply that I need to build ISMRMRD and GE Converter with the boost and hdf5 of Orchestra. I have been able to do so for hdf5 with the documentation provided. For boost however, it doesn't work. I have tried the solution provided in the documentation(https://github.com/ismrmrd/ge_to_ismrmrd, Step 5). I also looked upon this link: https://github.com/NHLBI-MR/ISMRM2019_demo/tree/master/GE_converter_demo/ge_to_ismrmrd_converter. I noticed they use a path while building:
cmake -D Boost_INCLUDE_DIR=$SDKTOP/include/recon/3p/Linux/boost_1_55_0_dev_linux64/include/ -D CMAKE_INSTALL_PREFIX=$ISMRMRD_HOME -D HDF5_USE_STATIC_LIBRARIES=yes ..
However I couldn't find a directory linux under Orchestra libray:
Screen Shot 2021-10-25 at 11 19 31 PM

If could kindly guide me in this, it'd really helpful!
Thank you in advance!

Originally posted by @RitiP in #16 (comment)

Orchestra SDK

Hello all,

I want to convert raw data from a GE scanner to ISMRMRD. But I don't have access to Orchestra SDK. Is there a way to convert GE data to ISMRMRD without using Orchestra SDK?

Thanks.

dependencies

Is there a preferred version of the orchestra-sdk?
Version 1.6.1 seems to have a different directory structure than the version originally used.
CMAKE fails to find various dependencies or thinks orchestra is not present depending on $SDKTOP.

Segmentation Fault message when converting ScanArchive formatted raw data.

When converting GE's ScanArchive raw data files, the convert will successfully complete converting the GE data, and complete writing out the ISMRMRD data set, but also generates a "Segmentation fault" message right at the end.

This does not affect data conversion in all cases tested thus far.

This issue is currently under investigation.

Assigning FOV from header part returned by Orchestra SDK

Hi,

I convert GE .7 files to ISMRMRD format. For that, I use OrchestraSDK (Matlab) for reading GE files. Then I used header information and data matrix in matlab from Orchestra for creating corresponding ISMRMRD files. I have a question on the FOV field. I could see one header field named fov under RawHeader which I use to fill the ISMRMRD fields

encoding.encodedSpace.fieldOfView_mm.x
encoding.encodedSpace.fieldOfView_mm.y 
encoding.reconSpace.fieldOfView_mm.x
encoding.reconSpace.fieldOfView_mm.y 

Is this correct? or are there separate values from GE header that I can use for ISMRMRM?

Thanks all!

list of sequences supported

thanks for this project! Is there a list of sequences that are already supported? Would help us with deciding on which acquisitions to try.

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.