Skip to content

Sequence

Sequence development is the key part of our lab.

Because we have Intellectual Property Agreement with the company, You should NOT share the code or store it on public cloud.

1 MR physics

Here are 4 books that you should read and refer when you have questions.

  • general introduction. Dwight G Nishimura. Principles of Magnetic Resonance Imaging. (hard copy)
  • zhipei liang. hal9000:/Volumes/A3/book/Principles of magnetic resonance imaging.zip
  • handbook. hal9000:/Volumes/A3/book/Handbook of MRI Pulse Sequences.pdf
  • green book. hal9000:/Volumes/A3/book/Magnetic Resonance Imaging: Physical Principles and Sequence Design.pdf

2 C and C++

Some basic concepts, such as class, parent, function

3 learning step

1) 2-4 weeks: read the manual and training materials. GE(hal9000:/Volumes/A3/ge) and Siemens(hal9000:/Volumes/A3/siemens)

2) apply for the online account GE and Siemens . It is important to have more information and experts in the forum.

3) have the virtualbox.

You can have the virtual machine on your laptop and the desktop computer. We also have a server that you can remotely access to make the sequence. To use the the server, you need to apply an account first. hal90000:/A3/sequence_install

4) start from grass-->dual echo if you are using GE or start from mini_flash-->se if you are using the Siemens

5) scan and run the off-line reconstruction. check our toolbox from the git server.

debug

Siemens

1 sim usually we skip the ut and check the sim directly.

  • if sim ok, but not work on scanners, you may go to ut
  • But before distribute to other site, ut is required

2 ut Unit test will show the error with gradient and others.

  • If there is a message print in the terminal, it is usually errors. Add you can add [[DEBUG flag|debug]] messages
  • check the ut result.html in the sequence folder, which should have not 'NOT OK' label at least in part 1.
  • check the ut result.html, in the section 'Description of the errors discovered by the unit test'
  • use command 'mask' to check the message level (todo)

3 ut -2 a more complete ut

You can use

  • trs2vs debug with visual studio command

  • UTrace it was not recommended by siemens training unclearly

  • DEBUG flag The most useful one

#ifdef DEBUG
std::cout<< "message="<<variable<<std::endl;
#endif

ge

mostly blind trace by print