Updated simulation and phantoms to newest version of MRzero, v2.2.0
This version of the MRTwin pulseq framework uses the simulation and pulseq interpreter pulled form the MRzero master branch in 08/2022, version v2.1.1
- A new phantom -> sim data workflow is introduced that facilitates simulating classical phantoms (e.g.: BrainWeb), quantification or custom analytical phantoms with the same simulation.
- Diffusion is now supported
- Voxel shape separated from simulation
devJo Branch merged into main
- dateien aufräumen, alter core raus
- segemented seqences anpassen ( ADC index)
- pulseq export mit balanced pre gzr
- standard examples re-implementieren.
Erste version mit größeren (und vorerst letzten) API Änderungen bei Simulation & reco
Snapshot von Arbeitszustand, aufgrund verschiedener Änderungen an diversen Funktionen funktionieren nur manche Sequenz Skripte ohne Anpassungen.
Enthält noch alten core
aktuelle version master branch - please tag - Felix
was tagged one year ago for new pulseq version
- scanner/scanner_fast unified (documentation pending)
- less remaining forward methods:
- forward_mem
- forward_fast
- forward_fast_sparse
- forward_fast_sparse_supermem
-
test case automap - mo
-
forward_fast_flip(flip tensor sparse, gradient tensor sparse) - maybe rename to forward_fast_spt al na - check opt of this method
-
b10 - switch to sequence class super
-
opt function: add parameter for adjusting momentum scheduling of ADAM- maybe less restarts possible - al na
-
seq_holder for target_seq_holder and opt_helper (simplified pulseq export for target, opt)
-
semantic versioning https://semver.org/lang/de/
as most recent changes are not downwards compatible this version must actually be 1.0.X -
renaming T -> NEvnt, flips-> rf_event, gradmoms-> gradm_event, adc_mask-> adc_event (m0: added a function batch_rename, but we do this after ISMRM deadline)
- most old scripts and code removed / moved to oldcode folder
- in main folder now only running scripts as examples
- aux - for auxiliary files, mostly for seq-file generation
- b0X - standard target sequence
- m0x - mrzero optimization standard sequence, e.g. from paper etc.
- individual files now in folder "batch"
- prefixes: Alex - al, Felix - fe, Moritz - Mo, Nam - Na, Simon - Si
- fov added to scanner
- new torch version 1.7: backwards compatible
- event_time_min required for both target seq and opt, targetSeq.set_event_time_min(event_time_min)
- phantom can be loaded by phantom = spins.get_phantom(sz[0],sz[1],type='object1') # type='object1' or 'brain1'
- b1 plus can be set #scanner.set_B1plus(phantom[:,:,4]) # use as defined in phantom scanner.set_B1plus(1)
- heuristic shift and number of coils adjustable: scanner.get_signal_from_real_system(experiment_id,today_datestr,jobtype="iter", iterfile=iteration,h_shift=4,ncoils=20)
- b0X scripts updated and pngs and seq files stored in test folder
- pulseq interpreter updated - Version XY?
Scripts for MRZero experiemts should be saved locally, instead inside the GitLab repository. We added new code to save a copy of the script file on a pre-defined basepath in a new experiment folder. Inside the experiment folder a text file with the recent git commit hash is generated.
Experiment ID is now the same as the script file name. All seq files include experiment id, MrZero Version number and git hash inside the header.
TODO
- Adjust gradient moment for rewinder gradients, either by adjusting gradient amplitude or top flat time.