PageRenderTime 28ms CodeModel.GetById 15ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/data/23/pulseprogram

http://ne-proj.googlecode.com/
#! | 2786 lines | 1299 code | 1487 blank | 0 comment | 0 complexity | 02214bc6f3a9c2b14b9378b85be4ec3b MD5 | raw file
   1# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg"
   2;****************************************************************
   3;
   4; Copyright (c) 2001-2007
   5; Bruker BioSpin MRI GmbH
   6; D-76275 Ettlingen, Germany
   7;
   8; All Rights Reserved
   9;
  10; $Id: DtiEpi.ppg,v 1.8.2.4 2007/07/13 09:05:22 fhen Exp $
  11
  12# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/MRI.include" 1
  13;****************************************************************
  14;
  15; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/MRI.include,v $
  16;
  17; Copyright (c) 2006
  18; Bruker BioSpin MRI GmbH
  19; D-76275 Ettlingen, Germany
  20;
  21; All Rights Reserved
  22;
  23;;****************************************************************
  24;MRI.include
  25
  26# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/Avance.incl" 1
  27;Avance2.incl
  28;   for 1
  29;
  30;avance-version (07/01/22)
  31;
  32;$CLASS=HighRes Incl
  33;$COMMENT=
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189;$Id: Avance2.incl,v 1.14.2.6 2008/04/03 08:54:39 mah Exp $
 190# 14 "/opt/PV5.0/exp/stan/nmr/lists/pp/MRI.include" 2
 191
 192
 193define delay aqq
 194define delay deparx
 195define delay derxadc
 196define delay rdepa
 197
 198"aqq=dw*td"
 199"rdepa=de-depa"
 200"deparx=depa-derx"
 201"derxadc=derx-deadc"
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245# 86 "/opt/PV5.0/exp/stan/nmr/lists/pp/MRI.include"
 246
 247
 248
 249
 250
 251
 252# 11 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
 253
 254preset off
 255
 256
 257;counter of dummy scans (not acquired; DS set to 0)
 258define loopcounter lcDs
 259"lcDs = l1"
 260
 261
 262
 263# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 1
 264;****************************************************************
 265;
 266; Copyright (c) 2003-2007
 267; Bruker BioSpin MRI GmbH
 268; D-76275 Ettlingen, Germany
 269;
 270; $Id: PrepModulesHead.mod,v 1.14.2.1 2007/07/02 13:05:36 mawi Exp $
 271;
 272; All Rights Reserved
 273;
 274; Declaration of pulseprogram parameters and subroutines for 
 275; preparation  modules
 276;
 277;****************************************************************
 278
 279;**** Fat Suppression Module ****
 280
 281# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/FatSupDef.mod" 1
 282;****************************************************************
 283;
 284; Copyright (c) 2002-2007
 285; Bruker BioSpin MRI GmbH
 286; D-76275 Ettlingen, Germany
 287;
 288; $Id: FatSupDef.mod,v 1.1.2.2 2007/07/02 14:26:25 mawi Exp $
 289;
 290; All Rights Reserved
 291;
 292; FatSupDef.mod : Declaration of Fat Suppression Subroutine
 293;
 294;****************************************************************
 295
 296if(PVM_FatSupOnOff)
 297{
 298define list<frequency> modlis6 = {$PVM_FatSupFL}
 299define delay FsD0 = {$PVM_FsD0}
 300define delay FsD1 = {$PVM_FsD1}
 301define delay FsD2 = {$PVM_FsD2}
 302
 303define pulse FsP0 = {$PVM_FsP0}
 304}
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322# 18 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
 323
 324
 325;**** Flow Saturation Module ****
 326
 327# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/FlowSatDef.mod" 1
 328;****************************************************************
 329;
 330; Copyright (c) 2005-2007
 331; Bruker BioSpin MRI GmbH
 332; D-76275 Ettlingen, Germany
 333;
 334; $Id: FlowSatDef.mod,v 1.1.4.2 2007/07/02 13:26:58 mawi Exp $
 335;
 336; All Rights Reserved
 337;
 338; FlowSatDef.mod: Declaration of subroutines for Flow Saturation 
 339; call
 340; subr FlowSat()
 341; subr FlowSatInit()
 342; subr FlowSatInc()
 343; 
 344;****************************************************************
 345
 346if(PVM_InFlowSatOnOff == 1)
 347   {
 348define list<frequency> modlis4 = {$PVM_InFlowSatFL}
 349define delay SfD0 = {$PVM_SfD0}
 350define delay SfD1 = {$PVM_SfD1}
 351define delay SfD2 = {$PVM_SfD2}
 352
 353define pulse SfP0 = {$PVM_SfP0}
 354
 355define loopcounter SfLp0 = {$PVM_SfLp0}
 356   }
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399# 22 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
 400
 401
 402;**** Inversion Pulse Module ****
 403# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/InvPulseDef.mod" 1
 404;****************************************************************
 405;
 406; Copyright (c) 2002-2007
 407; Bruker BioSpin MRI GmbH
 408; D-76275 Ettlingen, Germany
 409;
 410; $Id: InvPulseDef.mod,v 1.1.2.2 2007/07/02 14:26:25 mawi Exp $
 411;
 412; All Rights Reserved
 413;
 414; InvPulseDef.mod : Declaration of Inversion Pulse subroutine
 415;
 416; call
 417; subr InvPulse()
 418;
 419;****************************************************************
 420;   
 421;       PVM_InvRFPulseArr      :  
 422;     
 423;       sp22            TPQQ[14].name : PVM_InvRFPulsePropertyArr[0].Filename
 424;
 425;       PVM_IpP0                      :  PVM_InvRFPulseArr[0].PulseLength
 426;
 427;       PVM_IpD2                      :  PVM_InvPulseDelay[0]
 428;       PVM_IpD3                      :  PVM_InvPulseSpoilTime[0]
 429;       PVM_IpD1                      :  CONFIG_amplifier _enable
 430;       PVM_IpD0                      :  PVM_RampTime
 431;
 432
 433if(PVM_InvPulseOnOff == 1)
 434{
 435define list<frequency>  modlis2= {$PVM_InvPulseOffsetHz}
 436define delay IpD0 = {$PVM_IpD0}
 437define delay IpD1 = {$PVM_IpD1}
 438define delay IpD2 = {$PVM_IpD2}
 439define delay IpD3 = {$PVM_IpD3}
 440
 441define pulse IpP0 = {$PVM_IpP0}
 442}
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463# 25 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
 464
 465
 466;**** Magnetisation Transfer Module ****
 467
 468# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/MagTransDef.mod" 1
 469;****************************************************************
 470; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/MagTransDef.mod,v $
 471;
 472; Copyright (c) 2005-2007
 473; Bruker BioSpin MRI GmbH
 474; D-76275 Ettlingen, Germany
 475;
 476; All Rights Reserved
 477;
 478; MagTransDef.mod: Declaration of subroutine for Magnetization 
 479;                  transfer 
 480; call
 481; subr MagTrans()
 482;
 483; $Id: MagTransDef.mod,v 1.1.2.3 2008/06/05 17:10:28 mawi Exp $
 484;****************************************************************
 485;**** Magnetisation Transfer Module ****
 486
 487
 488if(PVM_MagTransOnOff)
 489{
 490define list<frequency> modlis3 = {$PVM_MagTransFL} 
 491define delay MtD0 = {$PVM_MtD0}
 492define delay MtD1 = {$PVM_MtD1}
 493define delay MtD2 = {$PVM_MtD2}
 494define delay MtD3 = {$PVM_MtD3}
 495
 496define pulse MtP0 = {$PVM_MtP0}
 497
 498define loopcounter MtLp0 = {$PVM_MtLp0}
 499}
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518# 29 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
 519
 520
 521
 522;**** Saturation Pulse Module ****
 523
 524# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/SatPulseDef.mod" 1
 525;****************************************************************
 526;
 527; Copyright (c) 2002-2003
 528; Bruker BioSpin MRI GmbH
 529; D-76275 Ettlingen, Germany
 530;
 531; $Id: SatPulseDef.mod,v 1.1.2.2 2007/07/02 14:26:25 mawi Exp $
 532;
 533; All Rights Reserved
 534;
 535; SatPulseDef.mod : Declaration of Saturation Pulse subroutines
 536; call 
 537; subr SatPulse()
 538;
 539;****************************************************************
 540;   
 541;    PVM_SatRFPulseArr      :  
 542;     
 543;       sp28            DPQQ[12].name : PVM_SatRFPulsePropertyArr[0].Filename
 544;       sp29            DPQQ[13].name : PVM_SatRFPulsePropertyArr[1].Filename
 545;       sp30            DPQQ[14].name : PVM_SatRFPulsePropertyArr[2].Filename
 546;       sp31            DPQQ[15].name : PVM_SatRFPulsePropertyArr[3].Filename
 547;
 548;       PVM_SpP0                     :  PVM_SatRFPulseArr[0].PulseLength
 549;       PVM_SpP1                     :  PVM_SatRFPulseArr[1].PulseLength
 550;       PVM_SpP2                     :  PVM_SatRFPulseArr[2].PulseLength
 551;       PVM_SpP3                     :  PVM_SatRFPulseArr[3].PulseLength
 552;
 553;       PVM_SpD2                     :  PVM_SatPulseDelay1[0]
 554;       PVM_SpD6                     :  PVM_SatPulseSpoilTime[0]
 555;       PVM_SpD10                    :  PVM_SatPulseDelay2[0]
 556;       PVM_SpD3                     :  PVM_SatPulseSpoilTime[1]
 557;       PVM_SpD7                     :  PVM_SatPulseDelay1[1]
 558;       PVM_SpD11                    :  PVM_SatPulseDelay2[1]
 559;       PVM_SpD4                     :  PVM_SatPulseDelay1[2]
 560;       PVM_SpD8                     :  PVM_SatPulseSpoilTime[2]
 561;       PVM_SpD12                    :  PVM_SatPulseDelay2[2]
 562;       PVM_SpD5                     :  PVM_SatPulseDelay1[3]
 563;       PVM_SpD9                     :  PVM_SatPulseSpoilTime[3]
 564;       PVM_SpD13                    :  PVM_SatPulseDelay2[3]
 565;
 566
 567if(PVM_SatPulseOnOff == 1)
 568   {
 569define list<frequency> modlis7 = {$PVM_SatPulseOffsetHz}
 570
 571define delay SpD0 = {$PVM_SpD0}
 572define delay SpD1 = {$PVM_SpD1}
 573define delay SpD2 = {$PVM_SpD2}
 574define delay SpD3 = {$PVM_SpD3}
 575define delay SpD4 = {$PVM_SpD4}
 576define delay SpD5 = {$PVM_SpD5}
 577define delay SpD6 = {$PVM_SpD6}
 578define delay SpD7 = {$PVM_SpD7}
 579define delay SpD8 = {$PVM_SpD8}
 580define delay SpD9 = {$PVM_SpD9}
 581define delay SpD10 = {$PVM_SpD10}
 582define delay SpD11 = {$PVM_SpD11}
 583define delay SpD12 = {$PVM_SpD12}
 584define delay SpD13 = {$PVM_SpD13}
 585   }
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646# 34 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
 647
 648
 649
 650;*** Saturation Slices Module ***
 651
 652# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/SatSliceDef.mod" 1
 653;****************************************************************
 654;
 655; Copyright (c) 2002-2007
 656; Bruker BioSpin MRI GmbH
 657; D-76275 Ettlingen, Germany
 658;
 659; $Id: SatSliceDef.mod,v 1.2.2.1 2007/07/02 13:01:13 mawi Exp $
 660;
 661; All Rights Reserved
 662;
 663; SatSlices.mod : Declaration of Saturation Slice subroutine
 664; call
 665; subr SatSlices()
 666;
 667;****************************************************************
 668;
 669; SaturationSlicesPulse :
 670;
 671;        sp25              DPQQ[9].name : PVM_SatSlicesPulse.Filename
 672;        PVM_SatP0                     : PVM_SatSlicesPulse.Length
 673;
 674;        
 675;        PVM_SatD1                     : CONFIG_amplifier_enable
 676;        PVM_SatD0                     : PVM_RampTime
 677;        PVM_SatD2                     : PVM_FovSatSpoilTime
 678;        PVM_SatLp0                    : PVM_FovSatNSlices 
 679;
 680;**** Saturation Slice Module ****
 681if(PVM_FovSatOnOff == 1)
 682{
 683define list<frequency> modlis5 = {$PVM_FovSatFL}
 684define delay SatD0 = {$PVM_SatD0}
 685define delay SatD1 = {$PVM_SatD1}
 686define delay SatD2 = {$PVM_SatD2}
 687
 688define pulse SatP0 = {$PVM_SatP0}
 689
 690define loopcounter SatLp0 = {$PVM_SatLp0}
 691}
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715 
 716# 39 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
 717
 718
 719
 720;**** Black Blood Module ****
 721# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/BlBloodDef.mod" 1
 722;****************************************************************
 723;
 724; Copyright (c) 2007
 725; Bruker BioSpin MRI GmbH
 726; D-76275 Ettlingen, Germany
 727;
 728; $Id: BlBloodDef.mod,v 1.1.2.2 2007/07/02 14:26:25 mawi Exp $
 729;
 730; All Rights Reserved
 731;
 732; BlBloodDef.mod : Declaration of Black blood  subroutine
 733;
 734; call
 735; subr BlBlood(ph0) : Black blood preparation with RF phaselist
 736;                     ph0
 737;
 738;****************************************************************
 739
 740if(PVM_BlBloodOnOff)
 741  {
 742define list<frequency> modlis8 = {$PVM_BlBloodFL}
 743define delay BlbD0 = {$PVM_BlbD0}
 744define delay BlbD1 = {$PVM_BlbD1}
 745define delay BlbD2 = {$PVM_BlbD2}
 746define delay BlbD3 = {$PVM_BlbD3}
 747
 748define pulse BlbP0 = {$PVM_BlbP0}
 749  }
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774# 43 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
 775
 776
 777
 778;**** Trigger Module ****
 779define delay TrigD0 = {$PVM_TrigD0}
 780;**** Trigger Out Module ****
 781define delay TrigOutD0 = {$PVM_TrigOutD0}
 782
 783;**** OuterVolumeSuppression **** Solvent Suppression Module ****
 784
 785# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/WsOvsDef.mod" 1
 786;****************************************************************
 787;
 788; Copyright (c) 2005-2007
 789; Bruker BioSpin MRI GmbH
 790; D-76275 Ettlingen, Germany
 791;
 792; $Id: WsOvsDef.mod,v 1.1.2.3 2008/03/19 14:25:28 sako Exp $
 793;
 794; All Rights Reserved
 795;
 796; WsOvsDef.mod: Declaration of water suppression and Outer 
 797;               volume suppression subroutines
 798;
 799; call 
 800; subr Ovs(ph0) ;  execution of OVS with ph0 phaselist
 801;
 802; subr WsOvs(ph0,ph1) : execution of OVS with ph0 and WS with ph1
 803;                       phaselist
 804;****************************************************************
 805
 806;**** OuterVolumeSuppression ****
 807
 808if(PVM_OvsOnOff == 1)
 809{
 810define list<frequency> Ovslist={$PVM_OvsFrequencyList}
 811define delay OvsD0 = {$PVM_OvsD0}
 812define delay OvsD1 = {$PVM_OvsD1}
 813define pulse OvsP0 = {$PVM_OvsP0}
 814}
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844;*** WaterSuppression Module with OVS ****
 845
 846if (PVM_WsMode)
 847{
 848
 849define list<frequency> Wslist={$PVM_WsOffsetHz}
 850define pulse WsP0 = {$PVM_WsP0}
 851define pulse WsP1 = {$PVM_WsP1}
 852define pulse WsP2 = {$PVM_WsP2}
 853define delay WsNp0 
 854"WsNp0 = WsP0"
 855define delay WsNp1 
 856"WsNp1 = WsP1"
 857define delay WsNp2 
 858"WsNp2 = WsP2"
 859define list<delay> ChD1={$PVM_ChppgD1}
 860define list<delay> ChD2={$PVM_ChppgD2}
 861define list<delay> VpD1={$PVM_VpppgD1}
 862define list<delay> VpD2={$PVM_VpppgD2}
 863
 864}
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041# 53 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
1042
1043
1044;**** Solvent Suppression module and FOV Saturation module ******
1045
1046# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/WsSatDef.mod" 1
1047;******************************************************************
1048;
1049; Copyright (c) 2002-2007
1050; Bruker BioSpin MRI GmbH
1051; D-76275 Ettlingen, Germany
1052;
1053; $Id: WsSatDef.mod,v 1.1.2.2 2007/07/02 14:26:26 mawi Exp $ 
1054;
1055; All Rights Reserved
1056;
1057; WsSatDef.mod - Declaration of water suppression and FOV saturation 
1058;                subroutines
1059; call
1060; subr WsSat(ph0) : execution of WS with ph0 phaselist and 
1061;                   FOV saturation (as passed as argument)    
1062;      
1063;*******************************************************************
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243# 57 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
1244
1245
1246;*********** selective inversion recovery **********
1247
1248# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/SelSliceIrDef.mod" 1
1249;****************************************************************
1250;
1251; Copyright (c) 2007
1252; Bruker BioSpin MRI GmbH
1253; D-76275 Ettlingen, Germany
1254;
1255; $Id: SelSliceIrDef.mod,v 1.1.2.2 2007/07/02 14:26:25 mawi Exp $
1256;
1257; All Rights Reserved
1258;
1259; SelSliceIrDef.mod : declaration of slice Selective Inversion 
1260;                     Recovery subroutine
1261; call SliceSelIr()
1262; 
1263;
1264;****************************************************************
1265
1266
1267if(PVM_SelIrOnOff)
1268  {
1269define list<frequency> IrFL = {$PVM_SelIrFL} 
1270define delay IrD0 = {$PVM_SelIrD0}
1271define delay IrD1 = {$PVM_SelIrD1}
1272define delay IrD2 = {$PVM_SelIrD2}
1273define delay IrD3 = {$PVM_SelIrD3}
1274define delay IrD4 = {$PVM_SelIrD4}
1275
1276define pulse IrP0 = {$PVM_SelIrP0}
1277
1278define loopcounter IrL0 = {$PVM_SelIrL0}
1279  }
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299# 61 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
1300
1301
1302;***********Tagging*****************
1303
1304# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/TagDef.mod" 1
1305;****************************************************************
1306;
1307; Copyright (c) 2007
1308; Bruker BioSpin MRI GmbH
1309; D-76275 Ettlingen, Germany
1310;
1311; $Id: TagDef.mod,v 1.1.2.4 2008/06/05 17:09:32 mawi Exp $
1312;
1313; All Rights Reserved
1314;
1315; TagDef.mod : Declaration of tagging subroutine
1316; call
1317; subr Tagging()
1318;
1319;****************************************************************
1320
1321if(PVM_TaggingOnOff)
1322{
1323define list<frequency> taggfreq={$PVM_TaggingFL}
1324
1325define delay TaggD0 = {$PVM_TaggingD0}
1326define delay TaggD1 = {$PVM_TaggingD1}
1327define delay TaggD2 = {$PVM_TaggingD2}
1328define delay TaggD3 = {$PVM_TaggingD3}
1329define delay TaggD4 = {$PVM_TaggingD4}
1330define delay TaggD5 = {$PVM_TaggingD5}
1331
1332define pulse TaggP0 = {$PVM_TaggingP0}
1333define loopcounter TaggL0 = {$PVM_TaggingLp0}
1334}
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393# 65 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
1394
1395
1396;*********** Noe *******************
1397
1398# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/NoeDef.mod" 1
1399;****************************************************************
1400;
1401; Copyright (c) 2007
1402; Bruker BioSpin MRI GmbH
1403; D-76275 Ettlingen, Germany
1404;
1405; $Id: NoeDef.mod,v 1.1.2.2 2007/07/02 14:26:26 mawi Exp $
1406;
1407; All Rights Reserved
1408;
1409; NoeDef.mod: Declaration of Nuclear Overhouser Enhancement 
1410;             subroutine
1411; call
1412; subr Noe()
1413;
1414;****************************************************************
1415
1416if(PVM_NoeOnOff == On)
1417{
1418define delay NoeD0 = {$PVM_NoeD0}
1419define delay NoeD1 = {$PVM_NoeD1}
1420}
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442# 69 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
1443
1444
1445
1446
1447define loopcounter EvolLp0 = {$PVM_EvolLp0}
1448define list<delay> EvolD0 = {$PVM_EvolD0}
1449
1450
1451# 21 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
1452
1453; #include <DwiHead.mod>
1454# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDwiHead.mod" 1
1455;************************************************************************* 
1456; Copyright (c) 2002 - 2007
1457; Bruker BioSpin MRI GmbH
1458; D-76275 Ettlingen, Germany
1459;
1460; $Id: DwiHead.mod,v 1.4.2.1 2007/07/02 13:22:13 mawi Exp $
1461;
1462; All Rights Reserved
1463; 
1464; DwiHead.mod: Declaration of pulseprogram subroutines
1465;              for Stejscal Tanner Spinecho and Stimulated echo 
1466;              preparation
1467;
1468; call
1469; subr DwiPrep(ph1)  : diffusion prepartion with RF phaselist 1
1470; subr DwiLoop(Diffl): loop part of diffusion preparation, loops
1471;                      to label Diffl (as passed as argument)
1472;
1473;*************************************************************************
1474
1475define list<frequency> DwFl0 = {$PVM_DwFlist0}
1476define delay DwD0  = {$PVM_DwD0}
1477define delay DwD1  = {$PVM_DwD1}
1478define delay DwD2  = {$PVM_DwD2}
1479define delay DwD3  = {$PVM_DwD3}
1480define delay DwD4  = {$PVM_DwD4}
1481define delay DwD5  = {$PVM_DwD5}
1482define delay DwD6  = {$PVM_DwD6}
1483define delay DwD7  = {$PVM_DwD7}
1484define delay DwD8  = {$PVM_DwD8}
1485define delay DwD9  = {$PVM_DwD9}
1486define delay DwD10 = {$PVM_DwD10}
1487define delay DwD11 = {$PVM_DwD11}
1488define delay DwD12 = {$PVM_DwD12}
1489define delay DwD13 = {$PVM_DwD13}
1490define delay DwD14 = {$PVM_DwD14}
1491define delay DwD15 = {$PVM_DwD15}
1492define delay DwD16 = {$PVM_DwD16}
1493define delay DwD17 = {$PVM_DwD17}
1494define delay DwD18 = {$PVM_DwD18}
1495define delay DwD19 = {$PVM_DwD19}
1496
1497
1498
1499define pulse DwP0 = {$PVM_DwP0}
1500define pulse DwP1 = {$PVM_DwP1}
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516; #define DwGSP1 grad{PVM_DwSpDir((PVM_TeDwSliceSpoilGrad),direct_scale)|(0)|(0)}
1517
1518
1519
1520
1521; #define Dwfull DiffusionPrepGrad
1522; #define DwGfull grad{(0)|(0)|(Dwfull,no_scale)}
1523
1524
1525
1526
1527
1528lgrad PVM_DwGradRead = PVM_DwNDiffExp
1529lgrad PVM_DwGradPhase = PVM_DwNDiffExp
1530lgrad PVM_DwGradSlice = PVM_DwNDiffExp
1531lgrad PVM_DwGradVec = PVM_DwNDiffExp
1532lgrad PVM_DwSpDir = PVM_DwNDiffExp
1533
1534define loopcounter DwExp = {$PVM_DwNDiffExp}
1535
1536
1537; spinecho stejscal tanner preparation
1538; =======================================
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608; spinecho stejscal tanner for diffusion prep.
1609; ===============================================
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680; stimulated echo stejscal tanner preparation
1681; ==============================================
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771; stimulated echo stejscal tanner for diffusion prep
1772; ======================================================
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845; 
1846; Diffusion Preparation module
1847; =======================================
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861; 
1862; Diffusion Preparation module for diffusion prep
1863; =====================================================
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883; Loop part of DTI module
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925# 23 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
1926
1927# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/epiHead.mod" 1
1928;****************************************************************
1929;
1930; Copyright (c) 2003
1931; Bruker BioSpin MRI GmbH
1932; D-76275 Ettlingen, Germany
1933;
1934; All Rights Reserved
1935; $Id: epiHead.mod,v 1.7.2.2 2007/07/12 15:08:50 fhen Exp $
1936; Declaration of pulseprogram parameters for epi module 
1937; 
1938;****************************************************************
1939
1940define delay EpiD0 = {$PVM_EpiD0}
1941define delay EpiD1 = {$PVM_EpiD1}
1942define delay EpiD2 = {$PVM_EpiD2}
1943define delay EpiD3 = {$PVM_EpiD3}
1944define delay EpiD4 = {$PVM_EpiD4}
1945define delay EpiD5 = {$PVM_EpiD5}
1946define delay EpiD7 = {$PVM_EpiD7}
1947define delay EpiD8 = {$PVM_EpiD8}
1948define delay EpiD9 = {$PVM_EpiD9}
1949define delay EpiD10 = {$PVM_EpiD10}
1950define delay EpiD11 = {$PVM_EpiD11}
1951define delay EpiD12 = {$PVM_EpiD12}
1952
1953
1954
1955lgrad PVM_EpiInterleavingFunction<2d> = PVM_EpiNShots
1956
1957define delay Epi10u_de
1958"Epi10u_de = 10u - de" 
1959
1960define list<delay> EpiVd = {$PVM_EpiVdList} 
1961# 24 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
1962
1963
1964
1965lgrad slice = NSLICES
1966
1967fq1b receive				     	     \n if (CONFIG_instrument_type != Avance_I)           \n {                                                 \n dccorr                                         \n }                         \n if (CONFIG_preemp_type == GREAT_60)               \n {                                                 \n if (CONFIG_instrument_type != Avance_III)      \n {                                              \n 500m setnmr0|34|33|32                          \n }                                              \n else                                           \n {                                              \n 200u setnmr0|34|33|32                          \n }                                              \n }                                                 \n if (CONFIG_preemp_type == DPP_with_SW_Blanking)   \n {                                                 \n 10u ctrlgrad 0                                 \n 10u grad{(0)|(0)|(0) }			     \n 200u setnmr0|34|33|32                          \n }
1968
1969zgrad PVM_EpiInterleavingFunction
1970zslice
1971
1972
1973
1974
1975DiffL,  4u
1976# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/TriggerPerPhaseStep.mod" 1
1977;****************************************************************
1978;
1979; Copyright (c) 1998-2003
1980; Bruker BioSpin MRI GmbH
1981; D-76275 Ettlingen, Germany
1982;
1983; All Rights Reserved
1984;
1985; TriggerPerPhaseStep.mod - Trigger Module
1986;
1987;****************************************************************
1988;
1989;      PVM_TrigD0               --> PVM_EcgTriggerModuleTime = ACQ_trigger_delay
1990;
1991if (PVM_TriggerMode == per_PhaseStep)
1992{
1993if (ACQ_trigger_enable == 1)
1994{
1995  10u   setnmr3|6
1996if (CONFIG_instrument_type == Avance_III)
1997{
1998  10u   trignl1
1999  10u   trigpe3
2000}
2001else
2002{
2003  10u   trigpl1
2004}
2005  10u   setnmr3^6
2006  TrigD0
2007}
2008}
2009# 38 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
2010
2011slice,  10u	fq8b:f1
2012# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/TriggerPerSlice.mod" 1
2013;****************************************************************
2014;
2015; Copyright (c) 1998-2003
2016; Bruker BioSpin MRI GmbH
2017; D-76275 Ettlingen, Germany
2018;
2019; All Rights Reserved
2020;
2021; TriggerPerSlice.mod - Trigger Module
2022;
2023;****************************************************************
2024;
2025;     PVM_TrigD0               --> PVM_EcgTriggerModuleTime = ACQ_trigger_delay
2026;
2027if (PVM_TriggerMode == per_Slice)
2028{
2029if (ACQ_trigger_enable == 1)
2030{
2031  10u   setnmr3|6
2032if (CONFIG_instrument_type == Avance_III)
2033{
2034  10u   trignl1
2035  10u   trigpe3
2036}
2037else
2038{
2039  10u   trigpl1
2040}
2041  10u   setnmr3^6 
2042  TrigD0
2043}
2044}
2045# 40 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
2046
2047;EXEC_begin SatSlices line 2047 (41) SatSlices()
2048 
2049if(PVM_FovSatOnOff == 1)  
2050{
2051lgrad PVM_FovSatGrad = PVM_FovSatNSlices
2052lgrad PVM_FovSatSpoiler = 1
2053zgrad PVM_FovSatGrad
2054zgrad PVM_FovSatSpoiler
2055
2056        50u     modlis5.res
2057
2058fov9,    SatD0 	modlis5:f1   	grad{PVM_FovSatGrad(100,,direct_scale)|(0)|(0)}
2059        SatD1   gatepulse 1
2060        SatP0:sp25          
2061        SatD2   modlis5.inc	grad{(0)|(0)|PVM_FovSatSpoiler(100,,no_scale)}
2062        igrad PVM_FovSatGrad
2063       lo to fov9 times SatLp0
2064        SatD0	        	grad{(0)|(0)|(0)}
2065        20u
2066}
2067   
2068;EXEC_end   SatSlices line 2047 (41) SatSlices()
2069;EXEC_begin FatSup line 2048 (42) FatSup()
2070 
2071if(PVM_FatSupOnOff)
2072{
2073lgrad PVM_FatSupSpoiler = 1
207410u zgrad PVM_FatSupSpoiler
2075
207640u       modlis6:f1
20771m        gatepulse 1
2078FsP0:sp26    
2079FsD2     grad{(0)|(0)|PVM_FatSupSpoiler(100,,no_scale)}
2080FsD0      groff
208150u
2082}
2083
2084 
2085;EXEC_end   FatSup line 2048 (42) FatSup()
2086;----------------------------------slice selection------------------	
2087	d1 	grad{(0)|(0)|(t0)} fq1:f1 gatepulse 1 
2088	p0:sp0 	ph0
2089	d4 	groff
2090;----------------------------------slice rephase--------------------
2091	d2 	grad{(0)|(0)|(t1)}
2092	d3      groff                                
2093; subr DwiPrep(ph1)  
2094
2095; subr DwiPrep1(ph1)
2096; subr DwiPrep(ph1)
2097;EXEC_begin DwiPrep1 line 2060 (54) DwiPrep1(phase ph2)
2098 
2099  if(PVM_DiffPrepMode == 0)
2100  {
2101    if(DiffusionPrepYesNo == Yes)
2102    {
2103;EXEC_begin DwSe1 line 1871 (0) DwSe1(phase ph2)
2104 
2105 DwD0      groff 
2106 if(PVM_DwDirectScale == Yes)
2107 {
2108   DwD5  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2109 }
2110 else
2111 {
2112    if (DiffusionPrepGradPol == Negative)
2113   {
2114      DwD5  grad{PVM_DwGradRead(-100,no_scale)|PVM_DwGradPhase(-100,no_scale)|PVM_DwGradSlice(-100,no_scale)}
2115   }
2116   if (DiffusionPrepGradPol == Positive)
2117   {
2118      DwD5  grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
2119   }    
2120 }
2121 ; DwD6      groff  
2122 DwD7	   groff                                  
2123 ;DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2124 
2125 if (ControlDiffSpoilerYesNo == Yes)
2126 {
2127   DwD2      grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
2128 }
2129 else
2130 {
2131   DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2132 }
2133 
2134 DwD3      grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1 
2135 DwP0:sp23  ph2
2136 DwD4      
2137 ; DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2138 
2139 if (ControlDiffSpoilerYesNo == Yes)
2140 {
2141   DwD2      grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
2142 }
2143 else
2144 {
2145   DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2146 }
2147 
2148 ; DwD2      grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
2149 ; DwD7	   groff
2150 DwD6	   groff
2151 if(PVM_DwDirectScale == Yes)
2152 {
2153   DwD5  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2154 }
2155 else
2156 {
2157   if (DiffusionPrepGradPol == Negative)
2158   {
2159      DwD5  grad{PVM_DwGradRead(-100,no_scale)|PVM_DwGradPhase(-100,no_scale)|PVM_DwGradSlice(-100,no_scale)}
2160   }
2161   if (DiffusionPrepGradPol == Positive)
2162   {
2163      DwD5  grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
2164   }   
2165 }
2166 if (DiffusionPrepYesNo == Yes)
2167 {
2168 d9      groff
2169 }
2170 
2171;EXEC_end   DwSe1 line 1871 (0) DwSe1(phase ph2)
2172    }
2173  }
2174  if(PVM_DiffPrepMode == 1)
2175  {
2176    if(DiffusionPrepYesNo == Yes)
2177    {
2178;EXEC_begin DwSte1 line 1878 (0) DwSte1(phase ph2)
2179 
2180 DwD0      groff                                
2181 if(PVM_DwDirectScale == Yes)
2182 {
2183   DwD9  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2184 }
2185 else
2186 {
2187   ; DwD9  grad{(0)|(0)|(DiffusionPrepGrad,no_scale)}
2188   DwD9  grad{(DiffusionPrepGrad*DiffusionPrepVec[0],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[1],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[2],no_scale)}
2189 }
2190 ; DwD6      groff  
2191 DwD8      groff
2192 ; DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2193 
2194 if (ControlDiffSpoilerYesNo == Yes)
2195 {
2196   DwD2      grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
2197 }
2198 else
2199 {
2200   DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2201 }
2202 
2203 DwD3      grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1 
2204 DwP0:sp23 ph2
2205 DwD7
2206 ; DwD4      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2207 
2208  if (ControlDiffSpoilerYesNo == Yes)
2209 {
2210   DwD4      grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
2211 }
2212 else
2213 {
2214   DwD4      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2215 }
2216 
2217 DwD5      groff
2218 DwD3      grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} gatepulse 1
2219 DwP0:sp23 ph2
2220 DwD7
2221 ; DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2222 
2223 if (ControlDiffSpoilerYesNo == Yes) 
2224 {
2225   DwD2      grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
2226 }
2227 else
2228 {
2229   DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2230 }
2231 
2232 ; DwD8      groff
2233 DwD6      groff
2234 if(PVM_DwDirectScale == Yes)
2235 {
2236   DwD9  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2237 }
2238 else
2239 {
2240   ; DwD9  grad{(0)|(0)|(DiffusionPrepGrad,no_scale)}
2241   DwD9  grad{(DiffusionPrepGrad*DiffusionPrepVec[0],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[1],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[2],no_scale)}
2242 }
2243 if (DiffusionPrepYesNo == Yes)
2244 {
2245   d9      groff
2246 }
2247 
2248;EXEC_end   DwSte1 line 1878 (0) DwSte1(phase ph2)
2249    }
2250  }
2251 
2252;EXEC_end   DwiPrep1 line 2060 (54) DwiPrep1(phase ph2)
2253;EXEC_begin DwiPrep line 2061 (55) DwiPrep(phase ph1)
2254 
2255if(PVM_DiffPrepMode == 0)
2256{
2257;EXEC_begin DwSe line 1853 (0) DwSe(phase ph1)
2258 
2259 if (DiffusionPrepYesNo == No)
2260 {
2261   DwD0      groff
2262 }
2263 if(PVM_DwDirectScale == Yes)
2264 {
2265   DwD5  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2266 }
2267 else
2268 {
2269   DwD5  grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
2270 }
2271 DwD6      groff                                    
2272 ; DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2273 
2274
2275 if (DiffusionPrepYesNo == Yes)
2276 {
2277    if (ControlDiffSpoilerYesNo == Yes)
2278    {
2279       DwD2      grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
2280    }
2281    else
2282    {
2283       DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2284    }
2285 }
2286 else
2287 {
2288     DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2289 }
2290
2291 
2292 DwD3      grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1 
2293 DwP0:sp23  ph1
2294 DwD4      
2295 ; DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2296 
2297 if (DiffusionPrepYesNo == Yes)
2298 {
2299    if (ControlDiffSpoilerYesNo == Yes)
2300    {
2301       DwD2      grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
2302    }
2303    else
2304    {
2305       DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2306    }
2307 }
2308 else
2309 {
2310     DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2311 }
2312 
2313 DwD7	   groff
2314 if(PVM_DwDirectScale == Yes)
2315 {
2316   DwD5  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2317 }
2318 else
2319 {
2320   DwD5  grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
2321 } 
2322 DwD1      groff
2323 
2324;EXEC_end   DwSe line 1853 (0) DwSe(phase ph1)
2325}
2326if(PVM_DiffPrepMode == 1)
2327{
2328;EXEC_begin DwSte line 1857 (0) DwSte(phase ph1)
2329 
2330 if (DiffusionPrepYesNo == No)
2331 {
2332   DwD0      groff
2333 }                               
2334 if(PVM_DwDirectScale == Yes)
2335 {
2336   DwD9  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2337 }
2338 else
2339 {
2340   DwD9  grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
2341 }
2342 DwD6      groff  
2343 ; DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2344 
2345 if (DiffusionPrepYesNo == Yes)
2346 {
2347   if (ControlDiffSpoilerYesNo == Yes)
2348   {
2349     DwD2      grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
2350   }
2351   else
2352   {
2353     DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2354   }
2355 }
2356 else
2357 {
2358   DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2359 }
2360 
2361 DwD3      grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1 
2362 DwP0:sp23 ph1
2363 DwD7
2364 ; DwD4      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2365 
2366  if (DiffusionPrepYesNo == Yes)
2367 {
2368   if (ControlDiffSpoilerYesNo == Yes)
2369   {
2370     DwD4      grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
2371   }
2372   else
2373   {
2374     DwD4      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2375   }
2376 }
2377 else
2378 {
2379   DwD4      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2380 }
2381 
2382 DwD5      groff
2383 DwD3      grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} gatepulse 1
2384 DwP0:sp23 ph1
2385 DwD7
2386 ; DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2387 
2388 if (DiffusionPrepYesNo == Yes)
2389 {
2390   if (ControlDiffSpoilerYesNo == Yes)
2391   {
2392     DwD2      grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
2393   }
2394   else
2395   {
2396     DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2397   }
2398 }
2399 else
2400 {
2401   DwD2      grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
2402 }
2403 
2404 DwD8      groff
2405 if(PVM_DwDirectScale == Yes)
2406 {
2407   DwD9  grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
2408 }
2409 else
2410 {
2411   DwD9  grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
2412 } 
2413 DwD1      groff
2414 
2415;EXEC_end   DwSte line 1857 (0) DwSte(phase ph1)
2416}
2417 
2418;EXEC_end   DwiPrep line 2061 (55) DwiPrep(phase ph1)
2419
2420        if "lcDs > 0" goto acqDs    
2421# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/epi.mod" 1
2422;****************************************************************
2423;
2424; Copyright (c) 2002-2005
2425; Bruker BioSpin MRI GmbH 
2426; D-76275 Ettlingen, Germany
2427;
2428; All Rights Reserved
2429; 
2430; epi.mod - an Echo-Planar Imaging module  
2431; 
2432;****************************************************************
2433
2434
2435;-------- version with shaped gradients:
2436if(PVM_EpiRampMode != SystemRamp)
2437{
2438	;5u fqatofqb:f1
2439	rdepa						 \n deparx     adc ph0 setrtp1|2 syrec	          \n derxadc     ph1:r setrtp1|1 			  \n deadc      setrtp1|0|8
2440        Epi10u_de
2441	if(PVM_EpiNShots != 1)
2442	{
2443	  if(PVM_EpiEchoTimeShifting == Yes)
2444	  {
2445		EpiVd	EpiVd.inc
2446	  }
2447	}
2448
2449	if (PVM_EpiGradSync == Yes)
2450	{
2451		1u	trigpe3
2452	}
2453
2454	if(PVM_EpiPrefixNavYes) ;prefix navigator
2455	{
2456		EpiD12 cpdngs30:f1
2457	}
2458
2459	10u    gc_control
2460	{
2461		EpiD4  grad{EpiShape1(100,EpiShape1Size)| EpiShape3(100,EpiShape3Size)	|(0)}
2462		EpiD5  grad{EpiShape9(100,EpiShape9Size)| EpiShape11(100,EpiShape11Size)*PVM_EpiInterleavingFunction(100)|(0)}
2463                EpiD11 grad{EpiShape8(100,EpiShape8Size)|(0)                            |(0)} ;plateau up
2464		loop PVM_EpiEchoCounter
2465		{		   
2466		  EpiD5	 grad{EpiShape2(100,EpiShape2Size)    |EpiShape4(100,EpiShape4Size)    |(0)} ;ramp down
2467		  EpiD11 grad{(0)-EpiShape8(100,EpiShape8Size)|(0)                             |(0)} ;plateau down
2468		  EpiD5  grad{(0)-EpiShape2(100,EpiShape2Size)|EpiShape7(100,EpiShape7Size)    |(0)} ;ramp up
2469		  EpiD11 grad{EpiShape8(100,EpiShape8Size)    |(0)                             |(0)} ;plateau up
2470		}
2471		EpiD5  grad{EpiShape10(100,EpiShape10Size)| EpiShape11(100,EpiShape11Size)*PVM_EpiInterleavingFunction(100)|(0)}
2472		EpiD4  grad{EpiShape5(100,EpiShape5Size)| EpiShape6(100,EpiShape6Size)  |(0)} 
2473	}
2474	EpiD1
2475	
2476        if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
2477	{
2478		EpiD2
2479	}
2480        if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
2481	{
2482		EpiD2   cpdngs30:f1
2483	}       
2484	EpiD3
2485        EpiD0   eoscnp
2486
2487	if(PVM_EpiNShots != 1)
2488	{
2489	  if(PVM_EpiEchoTimeShifting == Yes)
2490	  {
2491		EpiVd	EpiVd.inc
2492	  }
2493	}
2494} ;--------end of version
2495
2496;----------------------- version with system ramps  ---------------------------
2497if(PVM_EpiRampMode == SystemRamp)
2498{
2499	;5u fqatofqb:f1
2500	rdepa						 \n deparx     adc ph0 setrtp1|2 syrec	          \n derxadc     ph1:r setrtp1|1 			  \n deadc      setrtp1|0|8
2501        Epi10u_de
2502	if(PVM_EpiNShots != 1)
2503	{
2504	  if(PVM_EpiEchoTimeShifting == Yes)
2505	  {
2506		EpiVd	EpiVd.inc
2507	  }
2508	}
2509	if (PVM_EpiGradSync == Yes)
2510	{
2511		1u	trigpe3
2512	}
2513	if(PVM_EpiPrefixNavYes) ;prefix navigator
2514	{
2515		EpiD12 cpdngs30:f1
2516	}
2517
2518        10u    gc_control
2519        {
2520          EpiD7 grad{PVM_EpiReadDephGrad(100)|PVM_EpiPhaseDephGrad(100)+PVM_EpiInterleavingFunction(100*PVM_EpiPhaseEncGrad)|(0)}
2521          EpiD8 groff
2522          EpiD9 grad{PVM_EpiReadEvenGrad(100)|(0)|(0)}
2523	  loop PVM_EpiEchoCounter
2524	  {	   
2525	    EpiD10 grad{(0)                     |PVM_EpiBlipEvenGrad(100)|(0)}
2526	    EpiD9 grad{PVM_EpiReadOddGrad(100) |(0)                     |(0)}
2527	    EpiD10 grad{(0)                     |PVM_EpiBlipOddGrad(100 )|(0)}
2528            EpiD9 grad{PVM_EpiReadEvenGrad(100)|(0)                     |(0)}
2529          }
2530	  EpiD8 groff
2531          EpiD7 grad{PVM_EpiReadDephGrad(100)|PVM_EpiPhaseDephGrad(100)+PVM_EpiInterleavingFunction(100*PVM_EpiPhaseRewGrad)|(0)} 	 
2532          groff
2533        }
2534	EpiD1
2535 	
2536        if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
2537	{
2538		EpiD2
2539	}
2540        if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
2541	{
2542		EpiD2   cpdngs30:f1
2543	}       
2544	
2545        EpiD3
2546        EpiD0 eoscnp
2547	if(PVM_EpiNShots != 1)
2548	{
2549	  if(PVM_EpiEchoTimeShifting == Yes)
2550	  {
2551		EpiVd	EpiVd.inc
2552	  }
2553	} 
2554}	 
2555;-------- end of version
2556
2557# 58 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
2558
2559goOn,	2.5u        
2560;----------------------------------slice loop-----------------------
2561	10u islice
2562	d0    DwFl0.inc
2563	lo to slice times NSLICES
2564	1u zslice  
2565;----------------------------------averaging loop-------------------
2566        d5
2567
2568        "lcDs = lcDs - 1"
2569        if "lcDs >= 0" goto DiffL      ;dummy scans        
2570        1u	ipp0
2571        1u	ipp1
2572        1u	ipp2
2573	lo to DiffL times NA
2574;----------------------------------2d loop--------------------------
2575	1u igrad PVM_EpiInterleavingFunction
2576	lo to DiffL times l0
2577	1u zgrad PVM_EpiInterleavingFunction
2578;----------------------------------diffusion loop-------------------
2579;EXEC_begin DwiLoop line 2222 (79) DwiLoop(any DiffL)
2580 
2581if(PVM_DwFlag1 == 0)
2582{
2583   if( ACQ_scan_type == Scan_Experiment)
2584   {
2585      0u igrad PVM_DwSpDir
2586      1u igrad PVM_DwGradRead
2587      1u igrad PVM_DwGradPhase
2588      1u igrad PVM_DwGradSlice
2589      1u igrad PVM_DwGradVec
2590   } 
2591   else
2592   {
2593      0u zgrad PVM_DwSpDir
2594      1u zgrad PVM_DwGradRead
2595      1u zgrad PVM_DwGradPhase
2596      1u zgrad PVM_DwGradSlice
2597      1u zgrad PVM_DwGradVec 
2598   }
2599}
2600else	
2601{
2602      0u igrad PVM_DwSpDir
2603      1u igrad PVM_DwGradRead
2604      1u igrad PVM_DwGradPhase
2605      1u igrad PVM_DwGradSlice
2606      1u igrad PVM_DwGradVec
2607}
2608
2609
2610lo to DiffL times DwExp
2611
2612 0u zgrad PVM_DwSpDir	
2613 1u zgrad PVM_DwGradRead
2614 1u zgrad PVM_DwGradPhase
2615 1u zgrad PVM_DwGradSlice
2616 1u zgrad PVM_DwGradVec
2617
2618 
2619;EXEC_end   DwiLoop line 2222 (79) DwiLoop(any DiffL)
2620;----------------------------------repetitions loop-----------------
2621	lo to DiffL times PVM_NRepetitions
2622
2623if (ACQ_scan_type != Scan_Experiment) \n{ \n goto DiffL \n}
2624        goto bye
2625        
2626; ---- empty acquisition for dummy scans
2627acqDs,  1u
2628# 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/epiDum.mod" 1
2629;****************************************************************
2630;
2631; Copyright (c) 2002-2005
2632; Bruker BioSpin MRI GmbH 
2633; D-76275 Ettlingen, Germany
2634;
2635; All Rights Reserved
2636; 
2637; epiDum.mod - a version the Echo-Planar Imaging module without phase 
2638;              acquisition (for the dummy scans)  
2639; 
2640;****************************************************************
2641
2642
2643
2644;-------- version with shaped gradients:
2645if(PVM_EpiRampMode != SystemRamp)
2646{
2647	;5u fqatofqb:f1
2648	;rdepa						 \n deparx     adc ph0 setrtp1|2 syrec	          \n derxadc     ph1:r setrtp1|1 			  \n deadc      setrtp1|0|8
2649	10u
2650	if(PVM_EpiNShots != 1)
2651	{
2652	  if(PVM_EpiEchoTimeShifting == Yes)
2653	  {
2654		EpiVd	;EpiVd.inc
2655	  }
2656	}
2657
2658	if (PVM_EpiGradSync == Yes)
2659	{
2660		1u	trigpe3
2661	}
2662
2663	if(PVM_EpiPrefixNavYes) ;prefix navigator
2664	{
2665		EpiD12 ;cpdngs30:f1
2666	}
2667
2668	10u    gc_control
2669	{
2670		EpiD4  grad{EpiShape1(100,EpiShape1Size)| (0)	|(0)}
2671		EpiD5  grad{EpiShape9(100,EpiShape9Size)| (0)   |(0)}
2672                EpiD11 grad{EpiShape8(100,EpiShape8Size)| (0)   |(0)} ;plateau up
2673		loop PVM_EpiEchoCounter
2674		{		   
2675		  EpiD5	 grad{EpiShape2(100,EpiShape2Size)    |(0)    |(0)} ;ramp down
2676		  EpiD11 grad{(0)-EpiShape8(100,EpiShape8Size)|(0)    |(0)} ;plateau down
2677		  EpiD5  grad{(0)-EpiShape2(100,EpiShape2Size)|(0)    |(0)} ;ramp up
2678		  EpiD11 grad{EpiShape8(100,EpiShape8Size)    |(0)    |(0)} ;plateau up
2679		}
2680		EpiD5  grad{EpiShape10(100,EpiShape10Size)| (0)  |(0)}
2681		EpiD4  grad{EpiShape5(100,EpiShape5Size)  | (0)  |(0)} 
2682	}
2683	EpiD1
2684	
2685        if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
2686	{
2687		EpiD2
2688	}
2689        if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
2690	{
2691		EpiD2   ;cpdngs30:f1
2692	}       
2693	EpiD3
2694        EpiD0   ;eoscnp
2695
2696	if(PVM_EpiNShots != 1)
2697	{
2698	  if(PVM_EpiEchoTimeShifting == Yes)
2699	  {
2700		EpiVd ;EpiVd.inc	
2701	  }
2702	}
2703} ;--------end of version
2704
2705;----------------------- version with system ramps  ---------------------------
2706if(PVM_EpiRampMode == SystemRamp)
2707{
2708	;5u fqatofqb:f1
2709	;rdepa						 \n deparx     adc ph0 setrtp1|2 syrec	          \n derxadc     ph1:r setrtp1|1 			  \n deadc      setrtp1|0|8
2710	10u
2711	if(PVM_EpiNShots != 1)
2712	{
2713	  if(PVM_EpiEchoTimeShifting == Yes)
2714	  {
2715		EpiVd	;EpiVd.inc
2716	  }
2717	}
2718	if (PVM_EpiGradSync == Yes)
2719	{
2720		1u	trigpe3
2721	}
2722	if(PVM_EpiPrefixNavYes) ;prefix navigator
2723	{
2724		EpiD12 ;cpdngs30:f1
2725	}
2726
2727        10u    gc_control
2728        {
2729          EpiD7 grad{PVM_EpiReadDephGrad(100)|(0)|(0)}
2730          EpiD8 groff
2731          EpiD9 grad{PVM_EpiReadEvenGrad(100)|(0)|(0)}
2732	  loop PVM_EpiEchoCounter
2733	  {	   
2734	    EpiD10 grad{(0)                     |(0) |(0)}
2735	    EpiD9 grad{PVM_EpiReadOddGrad(100)  |(0) |(0)}
2736	    EpiD10 grad{(0)                     |(0) |(0)}
2737            EpiD9 grad{PVM_EpiReadEvenGrad(100) |(0) |(0)}
2738          }
2739	  EpiD8 groff
2740          EpiD7 grad{PVM_EpiReadDephGrad(100)| (0)|(0)} 	 
2741          groff
2742        }
2743	EpiD1
2744 	
2745        if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
2746	{
2747		EpiD2
2748	}
2749        if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
2750	{
2751		EpiD2   ;cpdngs30:f1
2752	}       
2753	
2754        EpiD3
2755        EpiD0 ;eoscnp
2756	if(PVM_EpiNShots != 1)
2757	{
2758	  if(PVM_EpiEchoTimeShifting == Yes)
2759	  {
2760		EpiVd ;EpiVd.inc	
2761	  }
2762	} 
2763}	 
2764;-------- end of version
2765# 88 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
2766
2767        goto goOn
2768
2769
2770   
2771bye,    1u
2772exit
2773
2774
2775ph0 = 0 2 0 2
2776ph2 = 1 3 3 1
2777ph1 = 1 1 1 1
2778
2779; ph0 = 0 0
2780; ph2 = 0 2
2781; ph1 = 0 0
2782
2783; ph0 = 0 2
2784; ph1 = 1
2785
2786