Sample Sequence

 

The code below shows how the famous “MiniFLASH” sequence can be expressed using the mtrk SDL. In this formulation, the amplitude of the phase-encoding gradient is varied using an equation. Alternatively, the gradient amplitude could also be stored and read from an array using the line-counter as index.

{
    "file": {
        "format": "mtrk-SDL",
        "version": 1,
        "measurement": "abc",
        "system": "Skyra-XQ"
    },
    "settings": {
        "readout_os": 2
    },
    "infos": {
        "description": "MiniFlash equivalent",
        "slices": 1,
        "fov": 300,
        "seqstring": "YARRA",        
        "reconstruction": "%SiemensIceProgs%\\IceProgram2D"
    },
    "instructions": {        
        "main": {
            "steps": [
                {
                    "action": "loop",
                    "counter": 1,
                    "range": 128,
                    "steps": [
                        {
                            "action": "run_block",
                            "block": "block_TR"
                        }
                    ]
                }                
            ]
        },
        "block_TR": {
            "steps": [
                {
                    "action": "calc",
                    "type": "float_rfspoil",
                    "float": 0,
                    "increment": 50
                },
                {
                    "action": "init",
                    "gradients": "logical"
                },
                {
                    "action": "sync",
                    "object": "ttl",
                    "time": 0
                },                
                {
                    "action": "grad",
                    "axis": "slice",
                    "object": "grad_slice_select",
                    "time": 0
                },
                {
                    "action": "rf",
                    "object": "rf_excitation",
                    "time": 100,
                    "added_phase": {
                        "type": "float",
                        "float": 0
                    }
                },
                {
                    "action": "grad",
                    "axis": "read",
                    "object": "grad_read_dephase",
                    "time": 2660
                },
                {
                    "action": "grad",
                    "axis": "phase",
                    "object": "grad_phase_encode",
                    "time": 2660,
                    "amplitude": {
                        "type": "equation",
                        "equation": "phaseencoding"
                    }
                },
                {
                    "action": "grad",
                    "axis": "slice",
                    "object": "grad_slice_refocus",
                    "time": 2760
                },                
                {
                    "action": "grad",
                    "axis": "read",
                    "object": "grad_read_readout",
                    "time": 9430
                },                
                {
                    "action": "adc",
                    "object": "adc_readout",
                    "time": 9460,
                    "frequency": 0,
                    "phase": 0,
                    "added_phase": {
                        "type": "float",
                        "float": 0
                    },                    
                    "mdh": {
                        "line": {
                            "type": "counter",
                            "counter": 1
                        },
                        "first_scan_slice": {
                            "type": "counter",
                            "counter": 1,
                            "target": 0
                        },
                        "first_scan_slice": {
                            "type": "counter",
                            "counter": 1,
                            "target": 0
                        },
                        "last_scan_slice": {
                            "type": "counter",
                            "counter": 1,
                            "target": 127
                        }
                    }
                },                    
                {
                    "action": "grad",
                    "axis": "phase",
                    "object": "grad_phase_encode",
                    "time": 13300,
                    "amplitude": "flip"
                },
                {
                    "action": "grad",
                    "axis": "slice",
                    "object": "grad_slice_refocus",
                    "time": 13300,
                    "amplitude": "flip"
                },
                {
                    "action": "mark",
                    "time": 20000
                },    
                {
                    "action": "submit"
                }                
            ]
        }
    },
    "objects": {
        "rf_excitation": {
            "type": "rf",
            "array": "rfpulse",
            "duration": 2560,
            "initial_phase": 0,
            "thickness": 5,
            "flipangle": 15,
            "purpose": "excitation"
        },
        "grad_slice_select": {
            "type": "grad",
            "array": "grad_100_2560_100",
            "duration": 2660,
            "tail": 0,
            "amplitude": 4.95
        },
        "grad_slice_refocus": {
            "type": "grad",
            "array": "grad_220_80_220",
            "duration": 300,
            "tail": 0,
            "amplitude": -21.96
        },
        "grad_read_dephase": {
            "type": "grad",
            "array": "grad_220_10_220",
            "duration": 230,
            "tail": 0,
            "amplitude": -21.96
        },
        "grad_read_readout": {
            "type": "grad",
            "array": "grad_30_3840_30",
            "duration": 3870,
            "tail": 0,
            "amplitude": 2.61
        },
        "grad_phase_encode": {
            "type": "grad",
            "array": "grad_220_10_220",
            "duration": 230,
            "tail": 0,
            "amplitude": 10
        },
        "adc_readout": {
            "type": "adc",
            "duration": 3840,
            "samples": 128,
            "dwelltime": 30000
        },
        "ttl": {
            "type": "sync",
            "duration": 10,
            "event": "osc0"
        }
    },
    "arrays": {
        "rfpulse": {
            "size": 128,
            "type": "complex_float",
            "encoding": "text",
            "data": [3.13304e-005,3.14159,0.000275274,3.14159,0.000741752,3.14159,0.00140054,3.14159,0.00221321,3.14159,0.0031333,3.14159,0.00410657,3.14159,0.00507138,3.14159,0.00595912,3.14159,0.00669486,3.14159,0.00719792,3.14159,0.00738272,3.14159,0.00715954,3.14159,0.0064355,3.14159,0.00511552,3.14159,0.00310332,3.14159,0.00030259,3.14159,0.00338198,0,0.00804349,0,0.0137717,0,0.0206519,0,0.0287638,0,0.0381802,0,0.0489663,0,0.0611784,0,0.0748629,0,0.0900558,0,0.106781,0,0.125052,0,0.144867,0,0.166213,0,0.189063,0,0.213376,0,0.239097,0,0.266157,0,0.294475,0,0.323954,0,0.354486,0,0.385951,0,0.418216,0,0.451138,0,0.484565,0,0.518335,0,0.552279,0,0.586221,0,0.619982,0,0.653377,0,0.686221,0,0.718326,0,0.749508,0,0.779582,0,0.80837,0,0.835698,0,0.861398,0,0.885311,0,0.90729,0,0.927195,0,0.9449,0,0.960293,0,0.973275,0,0.983763,0,0.991689,0,0.997001,0,0.999666,0,0.999666,0,0.997001,0,0.991689,0,0.983763,0,0.973275,0,0.960293,0,0.9449,0,0.927195,0,0.90729,0,0.885311,0,0.861398,0,0.835698,0,0.80837,0,0.779582,0,0.749508,0,0.718326,0,0.686221,0,0.653377,0,0.619982,0,0.586221,0,0.552279,0,0.518335,0,0.484565,0,0.451138,0,0.418216,0,0.385951,0,0.354486,0,0.323954,0,0.294475,0,0.266157,0,0.239097,0,0.213376,0,0.189063,0,0.166213,0,0.144867,0,0.125052,0,0.106781,0,0.0900558,0,0.0748629,0,0.0611784,0,0.0489663,0,0.0381802,0,0.0287638,0,0.0206519,0,0.0137717,0,0.00804349,0,0.00338198,0,0.00030259,3.14159,0.00310332,3.14159,0.00511552,3.14159,0.0064355,3.14159,0.00715954,3.14159,0.00738272,3.14159,0.00719792,3.14159,0.00669486,3.14159,0.00595912,3.14159,0.00507138,3.14159,0.00410657,3.14159,0.0031333,3.14159,0.00221321,3.14159,0.00140054,3.14159,0.000741752,3.14159,0.000275274,3.14159,3.13304e-005,3.14159]
        },
        "grad_100_2560_100": {
            "encoding": "text", 
            "type": "float", 
            "size": 276, 
            "data": [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0]
        }, 
        "grad_220_10_220": {
            "encoding": "text", 
            "type": "float", 
            "size": 45, 
            "data": [0.0, 0.0455, 0.0909, 0.1364, 0.1818, 0.2273, 0.2727, 0.3182, 0.3636, 0.4091, 0.4545, 0.5, 0.5455, 0.5909, 0.6364, 0.6818, 0.7273, 0.7727, 0.8182, 0.8636, 0.9091, 0.9545, 1.0, 0.9545, 0.9091, 0.8636, 0.8182, 0.7727, 0.7273, 0.6818, 0.6364, 0.5909, 0.5455, 0.5, 0.4545, 0.4091, 0.3636, 0.3182, 0.2727, 0.2273, 0.1818, 0.1364, 0.0909, 0.0455, 0.0]
        }, 
        "grad_220_80_220": {
            "encoding": "text", 
            "type": "float", 
            "size": 52, 
            "data": [0.0, 0.0455, 0.0909, 0.1364, 0.1818, 0.2273, 0.2727, 0.3182, 0.3636, 0.4091, 0.4545, 0.5, 0.5455, 0.5909, 0.6364, 0.6818, 0.7273, 0.7727, 0.8182, 0.8636, 0.9091, 0.9545, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9545, 0.9091, 0.8636, 0.8182, 0.7727, 0.7273, 0.6818, 0.6364, 0.5909, 0.5455, 0.5, 0.4545, 0.4091, 0.3636, 0.3182, 0.2727, 0.2273, 0.1818, 0.1364, 0.0909, 0.0455, 0.0]
        }, 
        "grad_30_3840_30": {
            "encoding": "text", 
            "type": "float", 
            "size": 390, 
            "data": [0.0, 0.3333, 0.6667, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.6667, 0.3333, 0.0]
        }        
    },
    "equations": {
        "phaseencoding": {
            "equation": "0.3378125*(ctr(1)-64.5)"
        }
    }
}