123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560 |
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- ;****************************************************************
- ;
- ; Copyright (c) 2001 - 2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; EPI - echo planar imaging method
- ;
- ;****************************************************************
- ;
- ; d0 - TR padding
- ; d1 - refocusing
- ; d2 - TE padding
- ; d3 = PVM_RampTime + PVM_InterGradientWaitTime
- ; d4 = PVM_RiseTime
- ; d5 = spoiler
- ; d7 - TE padding (spin echo)
- ; d8 = SCON / BLKTR_MAN (Amplifier preblanking)
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include" 1
- ;****************************************************************
- ;
- ; $Source$
- ;
- ; Copyright (c) 2006
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ;;****************************************************************
- ;MRI.include
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/Avance.incl" 1
- ;Avance3.incl
- ; for AV III
- ;
- ;avance-version (13/06/17)
- ;
- ;$CLASS=HighRes Incl
- ;$COMMENT=
- # 169 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/Avance.incl"
- ;$Id: Avance3.incl,v 1.9.6.1 2013/06/17 15:32:55 pfre Exp $
- # 14 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include" 2
- define delay aqq
- define delay deparx
- define delay derxadc
- define delay rdepa
- # 21 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
- "aqq=dw*td"
- "rdepa=de-depa"
- "deparx=depa-derx"
- "derxadc=derx-deadc"
- ; contents of De2.incl - usage for different hardware versions to
- ; be checked - intermediate solution to support Jobs
- define delay rde1
- # 31 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
- "rde1=de-de1"
- # 44 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
- ; end of contents of De2.incl
- # 65 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
-
-
- # 74 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
-
- # 128 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
- # 129 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
-
- # 141 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MRI.include"
-
- # 22 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg" 2
- preset off
- # 26 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- define delay durEpi = {$PVM_EpiModuleTime}
- "durEpi = durEpi/1000"
- ;counter of dummy scans (not acquired; DS set to 0)
- define loopcounter lcDs
- "lcDs = l0"
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epiHead.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ; $Id$
- ; Declaration of pulseprogram parameters for epi module
- ;
- ;****************************************************************
- define delay EpiD0 = {$PVM_EpiD0}
- define delay EpiD1 = {$PVM_EpiD1}
- define delay EpiD2 = {$PVM_EpiD2}
- define delay EpiD3 = {$PVM_EpiD3}
- define delay EpiD4 = {$PVM_EpiD4}
- define delay EpiD5 = {$PVM_EpiD5}
- define delay EpiD7 = {$PVM_EpiD7}
- define delay EpiD8 = {$PVM_EpiD8}
- define delay EpiD9 = {$PVM_EpiD9}
- define delay EpiD10 = {$PVM_EpiD10}
- define delay EpiD11 = {$PVM_EpiD11}
- define delay EpiD12 = {$PVM_EpiD12}
- define delay EpiD13 = {$PVM_EpiD13}
- define list<grad_scalar> Interleaving={$PVM_EpiInterleavingFunction}
- # 29 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epiHead.mod"
- define delay Epi20u_de
- "Epi20u_de = 20u - de"
- define list<delay> EpiVd = {$PVM_EpiVdList}
- # 34 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg" 2
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2003-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; Declaration of pulseprogram parameters and subroutines for
- ; preparation modules
- ;
- ; Must be included after MRI.include!
- ;
- ;****************************************************************
- # 18 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod"
- ;**** Fat Suppression ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FatSupDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2018
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; FatSupDef.mod : Declaration of Fat Suppression Subroutine
- ;
- ;****************************************************************
- if (PVM_FatSupPerform == Yes)
- {
- define pulse fatSupPul = {$PVM_FatSupRfLength}
- define list<frequency> fatSupList = {$PVM_FatSupFL}
-
- define delay fatSupRamp = {$PVM_FatSupRampTime}
- define delay fatSupAmp = {$PVM_FatSupAmpEnable}
- define delay fatSupWait = {$PVM_FatSupGradWait}
- define delay fatSupSpoil = {$PVM_FatSupSpoilDur}
- # 25 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FatSupDef.mod"
- ; convert from ms to s
- "fatSupRamp = fatSupRamp / 1000"
- "fatSupAmp = fatSupAmp / 1000"
- "fatSupWait = fatSupWait / 1000"
- "fatSupSpoil = fatSupSpoil / 1000"
- }
- subroutine FatSup
- # 20 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Flow Saturation ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FlowSatDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2018
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; FlowSatDef.mod: Declaration of subroutines for Flow Saturation
- ; call
- ; subr FlowSat()
- ; subr FlowSatInit()
- ; subr FlowSatInc()
- ;
- ;****************************************************************
- if(PVM_InFlowSatOnOff == 1)
- {
- define list<frequency> modlis4 = {$PVM_InFlowSatFL}
- define list<grad_scalar> flowSatGrad={$PVM_InFlowSatGrad}
- define delay SfD0 = {$PVM_SfD0}
- define delay SfD1 = {$PVM_SfD1}
- define delay SfD2 = {$PVM_SfD2}
- # 28 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FlowSatDef.mod"
- define pulse SfP0 = {$PVM_SfP0}
- define loopcounter SfLp0 = {$PVM_SfLp0}
- }
- subroutine FlowSat
- subroutine FlowSatInc
- subroutine FlowSatInit
- # 24 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Inversion Pulse ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/InvPulseDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; InvPulseDef.mod : Declaration of Inversion Pulse subroutine
- ;
- ; call
- ; subr InvPulse()
- ;
- ;****************************************************************
- ;
- ; PVM_InvRFPulseArr :
- ;
- ; sp22 TPQQ[14].name : PVM_InvRFPulsePropertyArr[0].Filename
- ;
- ; PVM_IpP0 : PVM_InvRFPulseArr[0].PulseLength
- ;
- ; PVM_IpD2 : PVM_InvPulseDelay[0]
- ; PVM_IpD3 : PVM_InvPulseSpoilTime[0]
- ; PVM_IpD1 : CONFIG_amplifier _enable
- ; PVM_IpD0 : PVM_RampTime
- ;
- if(PVM_InvPulseOnOff == 1)
- {
- define list<frequency> modlis2= {$PVM_InvPulseOffsetHz}
- define delay IpD0 = {$PVM_IpD0}
- define delay IpD1 = {$PVM_IpD1}
- define delay IpD2 = {$PVM_IpD2}
- define delay IpD3 = {$PVM_IpD3}
- define pulse IpP0 = {$PVM_IpP0}
- }
- subroutine InvPulse
- # 28 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Magnetisation Transfer ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MagTransDef.mod" 1
- ;****************************************************************
- ; $Source$
- ;
- ; Copyright (c) 2005-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; MagTransDef.mod: Declaration of subroutine for Magnetization
- ; transfer
- ; call
- ; subr MagTrans()
- ;
- ; $Id$
- ;****************************************************************
- ;**** Magnetisation Transfer Module ****
- if(PVM_MagTransOnOff)
- {
- define list<frequency> modlis3 = {$PVM_MagTransFL}
- define delay MtD0 = {$PVM_MtD0}
- define delay MtD1 = {$PVM_MtD1}
- define delay MtD2 = {$PVM_MtD2}
- define delay MtD3 = {$PVM_MtD3}
- # 28 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/MagTransDef.mod"
- define pulse MtP0 = {$PVM_MtP0}
- define loopcounter MtLp0 = {$PVM_MtLp0}
- }
- subroutine MagTrans
- # 32 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Saturation Transfer ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SatTransDef.mod" 1
- ;****************************************************************
- ; $Source$
- ;
- ; Copyright (c) 2018
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; SatTransDef.mod: Declaration of subroutine for Saturation transfer
- ; call
- ; subr SatTrans()
- ;
- ; $Id$
- ;****************************************************************
- ;**** Saturation Transfer Module ****
- ; PVM_SatTransFL: List of offset frequencies to be measured.
- ; PVM_SattransNPulses: Number of pulses used in one saturation event
- ; PVM_SattransPowerList: List of RF amplitudes for saturation pulses.
- ; Two elements long: first element: 0 Watt,
- ; used for one reference scan. Subsequent scans
- ; use amplitude as specified in UI.
- ; StReference: If PVM_SatTransRefScan is On then list StRfPower
- ; has two elements (1st is zero for reference scan)
- ; If RefScan is Off then lsit has only one element.
- ; Nevertheless we increment to avoid another 'if'
- # 31 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SatTransDef.mod"
- if(PVM_SatTransOnOff)
- {
- define list<frequency> modlis5 = {$PVM_SatTransFL}
- define list<power> StRfPower = {$PVM_SatTransPowerList}
-
- define delay StD0 = {$PVM_StD0}
- define delay StD1 = {$PVM_StD1}
- define delay StD2 = {$PVM_StD2}
- define delay StD3 = {$PVM_StD3}
- define pulse StP0 = {$PVM_StP0}
- define loopcounter StNPulses = {$PVM_SatTransNPulses}
- define loopcounter StReference
- "StReference = 1"
- }
- subroutine SatTransInit
- subroutine SatTransInc
- subroutine SatTrans
- # 36 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Saturation Pulse ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SatPulseDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; SatPulseDef.mod : Declaration of Saturation Pulse subroutines
- ; call
- ; subr SatPulse()
- ;
- ;****************************************************************
- ;
- ; PVM_SatRFPulseArr :
- ;
- ; sp28 DPQQ[12].name : PVM_SatRFPulsePropertyArr[0].Filename
- ; sp29 DPQQ[13].name : PVM_SatRFPulsePropertyArr[1].Filename
- ; sp30 DPQQ[14].name : PVM_SatRFPulsePropertyArr[2].Filename
- ; sp31 DPQQ[15].name : PVM_SatRFPulsePropertyArr[3].Filename
- ;
- ; PVM_SpP0 : PVM_SatRFPulseArr[0].PulseLength
- ; PVM_SpP1 : PVM_SatRFPulseArr[1].PulseLength
- ; PVM_SpP2 : PVM_SatRFPulseArr[2].PulseLength
- ; PVM_SpP3 : PVM_SatRFPulseArr[3].PulseLength
- ;
- ; PVM_SpD2 : PVM_SatPulseDelay1[0]
- ; PVM_SpD6 : PVM_SatPulseSpoilTime[0]
- ; PVM_SpD10 : PVM_SatPulseDelay2[0]
- ; PVM_SpD3 : PVM_SatPulseSpoilTime[1]
- ; PVM_SpD7 : PVM_SatPulseDelay1[1]
- ; PVM_SpD11 : PVM_SatPulseDelay2[1]
- ; PVM_SpD4 : PVM_SatPulseDelay1[2]
- ; PVM_SpD8 : PVM_SatPulseSpoilTime[2]
- ; PVM_SpD12 : PVM_SatPulseDelay2[2]
- ; PVM_SpD5 : PVM_SatPulseDelay1[3]
- ; PVM_SpD9 : PVM_SatPulseSpoilTime[3]
- ; PVM_SpD13 : PVM_SatPulseDelay2[3]
- ;
- if(PVM_SatPulseOnOff == 1)
- {
- define list<frequency> modlis7 = {$PVM_SatPulseOffsetHz}
- define delay SpD0 = {$PVM_SpD0}
- define delay SpD1 = {$PVM_SpD1}
- define delay SpD2 = {$PVM_SpD2}
- define delay SpD3 = {$PVM_SpD3}
- define delay SpD4 = {$PVM_SpD4}
- define delay SpD5 = {$PVM_SpD5}
- define delay SpD6 = {$PVM_SpD6}
- define delay SpD7 = {$PVM_SpD7}
- define delay SpD8 = {$PVM_SpD8}
- define delay SpD9 = {$PVM_SpD9}
- define delay SpD10 = {$PVM_SpD10}
- define delay SpD11 = {$PVM_SpD11}
- define delay SpD12 = {$PVM_SpD12}
- define delay SpD13 = {$PVM_SpD13}
- define pulse SpP0 = {$PVM_SpP0}
- define pulse SpP1 = {$PVM_SpP1}
- define pulse SpP2 = {$PVM_SpP2}
- define pulse SpP3 = {$PVM_SpP3}
- # 66 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SatPulseDef.mod"
- }
- subroutine SatPulse
- # 40 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;*** FOV Saturation ***
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FovSatDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2018
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; FovSat.mod : Declaration of FOV Saturation subroutine
- ; call: subr FovSat()
- ;
- ;****************************************************************
- if (PVM_FovSatOnOff == On)
- {
- define pulse fovSatPul = {$PVM_FovSatRfLength}
- define list<frequency> fovSatList = {$PVM_FovSatFL}
-
- define delay fovSatRamp = {$PVM_FovSatRampTime}
- define delay fovSatAmp = {$PVM_FovSatAmpEnable}
- define delay fovSatWait = {$PVM_FovSatGradWait}
- define delay fovSatSpoil = {$PVM_FovSatSpoilDur}
- # 27 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FovSatDef.mod"
- ; convert from ms to s
- "fovSatRamp = fovSatRamp / 1000"
- "fovSatAmp = fovSatAmp / 1000"
- "fovSatWait = fovSatWait / 1000"
- "fovSatSpoil = fovSatSpoil / 1000"
- }
- subroutine FovSat
- # 55 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FovSatDef.mod"
- ; backwards compatibility
- subroutine SatSlices
- # 44 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Black Blood ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/BlBloodDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; BlBloodDef.mod : Declaration of Black blood subroutine
- ;
- ; call
- ; subr BlBlood(ph0) : Black blood preparation with RF phaselist
- ; ph0
- ;
- ;****************************************************************
- if(PVM_BlBloodOnOff)
- {
- define list<frequency> modlis8 = {$PVM_BlBloodFL}
- define delay BlbD0 = {$PVM_BlbD0}
- define delay BlbD1 = {$PVM_BlbD1}
- define delay BlbD2 = {$PVM_BlbD2}
- define delay BlbD3 = {$PVM_BlbD3}
- define pulse BlbP0 = {$PVM_BlbP0}
- }
- subroutine BlBlood
- # 48 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Trigger ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 1998-2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; TriggerDef.mod - Trigger Module
- ;
- ;****************************************************************
- if (PVM_TriggerModule == On)
- {
- define delay trigDur = {$PVM_TriggerDur}
- define delay trigDel = {$PVM_TriggerDelay}
- ; convert from ms to s
- "trigDur = trigDur / 1000"
- "trigDel = trigDel / 1000"
- }
- subroutine Trigger
- subroutine TriggerPhase
- subroutine TriggerSlice
- # 52 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Trigger Out ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerOutDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ; $Id$
- ;****************************************************************
- if (PVM_TriggerOutOnOff == On)
- {
- define delay trigOutDur = {$PVM_TriggerOutDur}
- define delay trigOutDel = {$PVM_TriggerOutDelay}
- ; convert from ms to s
- "trigOutDur = trigOutDur / 1000"
- "trigOutDel = trigOutDel / 1000"
- }
- subroutine TriggerOut
- subroutine TriggerOutStart
- subroutine TriggerOutSlice
- subroutine TriggerOutVolume
- # 56 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Outer Volume Suppression ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/WsOvsDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2005-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; WsOvsDef.mod: Declaration of water suppression and Outer
- ; volume suppression subroutines
- ;
- ; call
- ; subr Ovs(ph0) ; execution of OVS with ph0 phaselist
- ;
- ; subr WsOvs(ph0,ph1) : execution of OVS with ph0 and WS with ph1
- ; phaselist
- ;****************************************************************
- ;**** OuterVolumeSuppression ****
- if(PVM_OvsOnOff == 1)
- {
- define list<frequency> Ovslist={$PVM_OvsFrequencyList}
- define delay OvsD0 = {$PVM_OvsD0}
- define delay OvsD1 = {$PVM_OvsD1}
- define pulse OvsP0 = {$PVM_OvsP0}
- }
- subroutine Ovs
- # 62 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/WsOvsDef.mod"
- ;*** WaterSuppression Module with OVS ****
- if (PVM_WsMode)
- {
- define list<frequency> Wslist={$PVM_WsOffsetHz}
- define pulse WsP0 = {$PVM_WsP0}
- define pulse WsP1 = {$PVM_WsP1}
- define pulse WsP2 = {$PVM_WsP2}
- define delay WsNp0
- "WsNp0 = WsP0"
- define delay WsNp1
- "WsNp1 = WsP1"
- define delay WsNp2
- "WsNp2 = WsP2"
- define list<delay> ChD1={$PVM_ChppgD1}
- define list<delay> ChD2={$PVM_ChppgD2}
- define list<delay> VpD1={$PVM_VpppgD1}
- define list<delay> VpD2={$PVM_VpppgD2}
- # 82 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/WsOvsDef.mod"
- }
- subroutine WsOvsMain
- subroutine WsOvs
- subroutine Ws
- # 60 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Solvent Suppression module ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/WsSatDef.mod" 1
- ;******************************************************************
- ;
- ; Copyright (c) 2002-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; WsSatDef.mod - Declaration of water suppression and FOV saturation
- ; subroutines
- ; call
- ; subr WsSat(ph0) : execution of WS with ph0 phaselist and
- ; FOV saturation (as passed as argument)
- ;
- ;*******************************************************************
- ; Definitions for WsPpgParams are included in WsOvsDef.mod
- subroutine WsSatMain
- subroutine WsSat
- # 64 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Selective Inversion Recovery ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SelSliceIrDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2018
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; SlicelSelIr.mod : declaration of slice Selective Inversion
- ; Recovery subroutine
- ; call SliceSelIr()
- ;
- ;
- ;****************************************************************
- if(PVM_SelIrOnOff)
- {
- define list<frequency> IrFL = {$PVM_SelIrFL}
- define delay IrD0 = {$PVM_SelIrD0} ; PVM_InterInvDelay
- define delay IrD1 = {$PVM_SelIrD1} ; PVM_InterInvEndDelay[0]
- define delay IrD2 = {$PVM_SelIrD2} ; Spoiler duration
- define delay IrD3 = {$PVM_SelIrD3} ; Gatepulse duration
- define delay IrD4 = {$PVM_SelIrD4} ; risetime
- # 28 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SelSliceIrDef.mod"
- define pulse IrP0 = {$PVM_SelIrP0}
- define loopcounter IrL0 = {$PVM_SelIrL0}
- define loopcounter IrL1
- }
- subroutine SliceSelIr
- # 68 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Tagging ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TagDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2018
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; TagDef.mod : Declaration of tagging subroutine
- ; call
- ; subr Tagging()
- ;
- ;****************************************************************
- if(PVM_TaggingOnOff)
- {
- define list<frequency> taggfreq={$PVM_TaggingFL}
- define delay TaggD0 = {$PVM_TaggingD0}
- define delay TaggD1 = {$PVM_TaggingD1}
- define delay TaggD2 = {$PVM_TaggingD2}
- define delay TaggD3 = {$PVM_TaggingD3}
- define delay TaggD4 = {$PVM_TaggingD4}
- define delay TaggD5 = {$PVM_TaggingD5}
- # 28 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TagDef.mod"
- define pulse TaggP0 = {$PVM_TaggingP0}
- define loopcounter TaggL0 = {$PVM_TaggingLp0}
- }
- subroutine Tagging
- # 72 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Noe ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/NoeDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id$
- ;
- ; All Rights Reserved
- ;
- ; NoeDef.mod: Declaration of Nuclear Overhouser Enhancement
- ; subroutine
- ; call
- ; subr Noe()
- ;
- ;****************************************************************
- if(PVM_NoeOnOff == On)
- {
- define delay NoeD0 = {$PVM_NoeD0}
- define delay NoeD1 = {$PVM_NoeD1}
- }
- subroutine Noe
- # 76 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Evolution ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EvolutionDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 1998-2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; EvolutionDef.mod - Evolution Module
- ;
- ;****************************************************************
- if (PVM_EvolutionOnOff == On)
- {
- define delay evolDel = {$PVM_EvolutionDelay}
- define list<delay> evolTime = {$PVM_EvolutionTime}
- }
- subroutine Evolution
- # 80 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Drift Compensation ****
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/DriftComp.mod" 1
- ;==========================================================
- ; subroutine for drift compensation
- ;==========================================================
- if (PVM_DriftCompNavOnOff == On)
- {
- define list<frequency> txfq = {$PVM_DriftCompNavTxFrq}
- define list<frequency> rxfq = {$PVM_DriftCompNavRxFrq}
- define pulse DCP0 = {$PVM_DriftCompNavP0}
- define delay DCD0 = {$PVM_DriftCompNavD0}
- define delay DCD1 = {$PVM_DriftCompNavD1}
- define delay DCD2 = {$PVM_DriftCompNavD2}
- define delay DCD3 = {$PVM_DriftCompNavD3}
- define delay DCD4 = {$PVM_DriftCompNavD4}
- define delay DCD5 = {$PVM_DriftCompNavD5}
- define delay DCD6
- "DCD6 = 10u - de"
- define list<phase> dcph = { 0 }
- }
- subroutine DriftComp
- # 84 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- # 35 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg" 2
- # 37 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- if (ACQ_jobs_size > 1)
- {
- 3u setrtp1|1 \n 7u setrtp1^1 \n 1m swj1 \n 1m dccorr1 \n 3u setrtp1|1 \n 187u setrtp1^1 \n 1u setrtp1|1 \n 9u setrtp1^1 \n 1m swj2 \n 1m dccorr2 \n 3u setrtp1|1 \n 7u setrtp1^1 \n 1m swj1 \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 }\n if (CONFIG_preemp_type == DPP) \n { \n 10u groff \n }
- } else {
- 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 }\n if (CONFIG_preemp_type == DPP) \n { \n 10u groff \n }
- }
-
- ; GRAPPA adjustment?
- if(PVM_EpiAdjustMode==2)
- {
- define list <grad_scalar> ACQ_spatial_phase_2
- }
- else
- {
- grad_zero_for_gs <ACQ_spatial_phase_2>
- }
- 0u grad_matrix.res
- subr SatTransInit
- ;EXEC_begin SatTransInit SatTransInit()
- # 48 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SatTransDef.mod"
-
- if(PVM_SatTransOnOff)
- {
- 0u modlis5.res
- 0u StRfPower.res
- }
-
- ;EXEC_end SatTransInit
- # 57 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- subr TriggerOutStart
- ;EXEC_begin TriggerOutStart TriggerOutStart()
- # 30 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerOutDef.mod"
-
- if (PVM_TriggerOutMode == AT_START)
- {
- ;EXEC_begin TriggerOut TriggerOut()
- # 21 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerOutDef.mod"
-
- if (PVM_TriggerOutOnOff == On)
- {
- trigOutDel setnmr3|28
- trigOutDur setnmr3^28
- }
-
- ;EXEC_end TriggerOut
- }
-
- ;EXEC_end TriggerOutStart
- # 58 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- # 60 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- start, 10u
- subr DriftComp
- ;EXEC_begin DriftComp DriftComp()
- # 23 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/DriftComp.mod"
-
- if(PVM_DriftCompYesNo == Yes)
- {
- 20u reload B0 ;close to nav acq
-
- if(PVM_DriftCompNavOnOff == On)
- {
- 10u swj2
- 1u setrtp1|1 \n 9u setrtp1^1 ;lasts 10u
- 10u rxfq(receive):f1
- 5u txfq:f1
- DCD0 gatepulse 1
- (DCP0 :sp55 dcph):f1
-
- DCD6 ;is 10u-de
- (rde1 sync de1 adc2 dcph syrec) (1u 1u dcph:r):f1 (de) ;is de
- DCD1 cpdngs18:f1
- 169u ;delay for scan shift
- 10u eoscnp #1
- DCD2 grad_ramp{PVM_DriftCompNavSpoilAmp,PVM_DriftCompNavSpoilAmp,PVM_DriftCompNavSpoilAmp}
- DCD3 ;delay after eoscnp #0 requires about 45u
- DCD4 swj1 ;requires about 65u
- 3u setrtp1|1 \n 7u setrtp1^1 ;lasts 10u
- DCD5
- DCD2 grad_off
- }
- }
-
- ;EXEC_end DriftComp
- # 62 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- subr TriggerPhase
- ;EXEC_begin TriggerPhase TriggerPhase()
- # 37 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerDef.mod"
-
- if (PVM_TriggerMode == per_PhaseStep)
- {
- ;EXEC_begin Trigger Trigger()
- # 23 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerDef.mod"
-
- if (PVM_TriggerModule == On)
- {
- trigDur setnmr3|6
-
- trigDur trignl1
- trigDur trigpe3
-
- trigDur setnmr3^6
- trigDel
- }
-
- ;EXEC_end Trigger
- }
-
- ;EXEC_end TriggerPhase
- # 63 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- subr TriggerOutVolume
- ;EXEC_begin TriggerOutVolume TriggerOutVolume()
- # 46 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerOutDef.mod"
-
- if (PVM_TriggerOutMode == PER_VOLUME)
- {
- ;EXEC_begin TriggerOut TriggerOut()
- # 21 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerOutDef.mod"
-
- if (PVM_TriggerOutOnOff == On)
- {
- trigOutDel setnmr3|28
- trigOutDur setnmr3^28
- }
-
- ;EXEC_end TriggerOut
- }
-
- ;EXEC_end TriggerOutVolume
- # 64 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- subr Tagging
- ;EXEC_begin Tagging Tagging()
- # 32 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TagDef.mod"
-
- if(PVM_TaggingOnOff)
- {
- 0u taggfreq.res
- if(PVM_TaggingMode == DANTE)
- {
- 10u taggfreq:f1
- TaggD4 grad_ramp{PVM_TaggingGradAmp1, PVM_TaggingGradAmp2,0}
- TaggD5 gatepulse 1
- (TaggP0: sp45):f1
- tag119, TaggD2
- TaggD5 gatepulse 1
- (TaggP0: sp45):f1
- lo to tag119 times TaggL0
- TaggD4 grad_off
- if(PVM_TaggingDir == Tagging_grid)
- {
- TaggD1 taggfreq.inc
- 10u taggfreq:f1
- TaggD5 gatepulse 1
- TaggD4 grad_ramp{PVM_TaggingGradAmp3,PVM_TaggingGradAmp4,0}
- (TaggP0: sp45):f1
- tag220, TaggD2
- TaggD5 gatepulse 1
- (TaggP0: sp45):f1
- lo to tag220 times TaggL0
- TaggD4 grad_off
- }
- }
- if(PVM_TaggingMode == SPAMM)
- {
- 10u taggfreq:f1
- TaggD5 gatepulse 1
- (TaggP0: sp45):f1
- tag321, TaggD2 grad_ramp{PVM_TaggingGradAmp1,PVM_TaggingGradAmp2,0}
- TaggD4 grad_off
- TaggD5 gatepulse 1
- (TaggP0: sp45):f1
- lo to tag321 times TaggL0
- if(PVM_TaggingDir == Tagging_grid)
- {
- TaggD1 taggfreq.inc
- 10u taggfreq:f1
- TaggD5 gatepulse 1
- (TaggP0: sp45):f1
- tag422, TaggD2 grad_ramp{PVM_TaggingGradAmp3,PVM_TaggingGradAmp4,0}
- TaggD4 grad_off
- TaggD5 gatepulse 1
- (TaggP0: sp45):f1
- lo to tag422 times TaggL0
- }
- }
- 10u
- TaggD3 grad_ramp{PVM_TaggingSpoilAmp,0,0}
- TaggD4 grad_off
- TaggD0
- }
-
- ;EXEC_end Tagging
- # 65 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- ;----------------------------------start of the main loop ----------
- slice, 5u fq8(receive):f1
- 5u
- subr TriggerSlice
- ;EXEC_begin TriggerSlice TriggerSlice()
- # 45 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerDef.mod"
-
- if (PVM_TriggerMode == per_Slice)
- {
- ;EXEC_begin Trigger Trigger()
- # 23 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerDef.mod"
-
- if (PVM_TriggerModule == On)
- {
- trigDur setnmr3|6
-
- trigDur trignl1
- trigDur trigpe3
-
- trigDur setnmr3^6
- trigDel
- }
-
- ;EXEC_end Trigger
- }
-
- ;EXEC_end TriggerSlice
- # 70 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- subr TriggerOutSlice
- ;EXEC_begin TriggerOutSlice TriggerOutSlice()
- # 38 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerOutDef.mod"
-
- if (PVM_TriggerOutMode == PER_SLICE)
- {
- ;EXEC_begin TriggerOut TriggerOut()
- # 21 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/TriggerOutDef.mod"
-
- if (PVM_TriggerOutOnOff == On)
- {
- trigOutDel setnmr3|28
- trigOutDur setnmr3^28
- }
-
- ;EXEC_end TriggerOut
- }
-
- ;EXEC_end TriggerOutSlice
- # 71 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- # 73 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- ;----------------------------------preparation modules -------------
- subr FovSat
- ;EXEC_begin FovSat FovSat()
- # 34 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FovSatDef.mod"
-
- if (PVM_FovSatOnOff == On)
- {
- 5u PVM_FovSatGrad.res
- 5u fovSatList.res
- fov23, fovSatRamp grad_ramp<magnet_coord>{PVM_FovSatGrad[]}
- 10u fovSatList:f1
- fovSatAmp gatepulse 1
- (fovSatPul :sp41):f1
- fovSatSpoil grad_ramp{0, 0, PVM_FovSatSpoilAmp}
- 0u fovSatList.inc
- 0u PVM_FovSatGrad.inc
- lo to fov23 times PVM_FovSatNSlices
-
- fovSatRamp grad_off
- fovSatWait
- }
-
- ;EXEC_end FovSat
- # 74 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- subr SatTrans
- ;EXEC_begin SatTrans SatTrans()
- # 73 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SatTransDef.mod"
-
- if(PVM_SatTransOnOff)
- {
- 10u StRfPower:f1
- pulse24, StD1 modlis5:f1
- StD0 gatepulse 1
- StP0: sp43(currentpower):f1
- lo to pulse24 times StNPulses
- StD2 grad_ramp{0, 0, PVM_SatTransSpoil.ampl}
- StD3 grad_off
- }
-
- ;EXEC_end SatTrans
- # 75 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- subr FatSup
- ;EXEC_begin FatSup FatSup()
- # 32 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/FatSupDef.mod"
-
- if (PVM_FatSupPerform == Yes)
- {
- 10u fatSupList:f1
- fatSupAmp gatepulse 1
- (fatSupPul :sp40):f1
- fatSupSpoil grad_ramp{0, 0, PVM_FatSupSpoilAmp}
- fatSupRamp grad_off
- fatSupWait
- }
-
- ;EXEC_end FatSup
- # 76 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- d5 grad_ramp{0, 0, g2}
- ;----------------------------------slice selection------------------
- d4 grad_ramp{0, 0, g0} fq1:f1
- d8 gatepulse 1
- (p0:sp0 ph0):f1
- d3 grad_off
- ;----------------------------------slice rephase--------------------
- d1 grad_ramp{0, 0, g1 }
- d4 grad_off
- if(PVM_SignalType == SignalType_Echo)
- {
- d7
- d9 grad_ramp{0, 0, g3}
- d4 grad_ramp{0, 0, g0} gatepulse 1
- (p1:sp1 ph1):f1
- d9 grad_ramp{0, 0, g3}
- d4 grad_off
- }
- ;----------------------------------TE padding-----------------------
- d2
- if "lcDs > 0"
- {
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epiDum.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2005
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; epiDum.mod - a version the Echo-Planar Imaging module without phase
- ; acquisition (for the dummy scans)
- ;
- ;****************************************************************
- # 16 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epiDum.mod"
- ;-------- version with shaped gradients:
- if(PVM_EpiRampMode != SystemRamp)
- {
- ;rdepa \n deparx adc ph0 syrec \n derxadc ph1:r \n deadc
- 20u
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd ;EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 ;cpdngs17:f1
- }
- else
- {
- if(PVM_EpiDynCorr)
- {
- EpiD12 ;cpdngs17:f1
- }
- }
- if(PVM_EpiDynCorr) ; dynamic ghost correction
- {
- EpiD13 grad_shape{EpiShape17() * 100, (0), (0)}
- EpiD5 grad_shape{EpiShape9() * 100, (0), (0)}
- EpiD11 grad_shape{EpiShape8() * 100, (0), (0)} ;plateau up
- EpiD5 grad_shape{EpiShape2() * 100, EpiShape15() * 100, (0)} ;ramp down
- EpiD11 grad_shape{EpiShape13() * 100, 0, 0} ;plateau down
- EpiD5 grad_shape{EpiShape12() * 100, EpiShape16() * 100, (0)} ;ramp up
- EpiD11 grad_shape{EpiShape8() * 100, (0), (0)} ;plateau up
- EpiD5 grad_shape{EpiShape10() * 100, (0), (0)}
- EpiD13 grad_shape{EpiShape17() * 100, (0) ,(0)}
- }
- # 58 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epiDum.mod"
- 10u gc_control
- {
- EpiD4 grad_shape{EpiShape1() * 100, EpiShape3() * 100 + EpiShape18() * 100 * r2d , (0)-EpiShape14() * 100 * ACQ_spatial_phase_2}
- EpiD5 grad_shape{EpiShape9() * 100, EpiShape11() * 100 * Interleaving,0}
- EpiD11 grad_shape{EpiShape8() * 100, 0, 0} ;plateau up
- loop PVM_EpiEchoCounter
- {
- EpiD5 grad_shape{EpiShape2() * 100, EpiShape4() * 100, 0} ;ramp down
- EpiD11 grad_shape{EpiShape13() * 100, 0, 0} ;plateau down
- EpiD5 grad_shape{EpiShape12() * 100, EpiShape7() * 100, 0} ;ramp up
- EpiD11 grad_shape{EpiShape8() * 100, 0, 0} ;plateau up
- }
- EpiD5 grad_shape{EpiShape10() * 100, -EpiShape11() * 100 *Interleaving, 0}
- EpiD4 grad_shape{EpiShape5() * 100, EpiShape6() * 100,EpiShape14() * 100 * ACQ_spatial_phase_2}
- }
- EpiD1
- # 77 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epiDum.mod"
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- else ;no prefix navigator or dyn corr: start adc now
- {
- if(PVM_EpiDynCorr)
- {
- EpiD2
- }
- else
- {
- EpiD2 ;cpdngs17:f1
- }
- }
-
- EpiD3
- EpiD0 ;eoscnp
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd ;EpiVd.inc
- }
- }
- } ;--------end of version
- ;----------------------- version with system ramps ---------------------------
- if(PVM_EpiRampMode == SystemRamp)
- {
- ;rdepa \n deparx adc ph0 syrec \n derxadc ph1:r \n deadc
- 20u
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd ;EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 ;cpdngs17:f1
- }
- # 126 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epiDum.mod"
- 10u gc_control
- {
- EpiD7 grad_ramp{PVM_EpiReadDephGrad * 100, 0, 0}
- EpiD8 grad_off
- EpiD9 grad_ramp{PVM_EpiReadEvenGrad * 100, 0, 0}
- loop PVM_EpiEchoCounter
- {
- EpiD10 grad_ramp{0, 0, 0}
- EpiD9 grad_ramp{PVM_EpiReadOddGrad * 100, 0, 0}
- EpiD10 grad_ramp{0, 0, 0}
- EpiD9 grad_ramp{PVM_EpiReadEvenGrad * 100, 0, 0}
- }
- EpiD8 grad_off
- EpiD7 grad_ramp{PVM_EpiReadDephGrad * 100, 0, 0}
- grad_off
- }
- EpiD1
-
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
- {
- EpiD2 ;cpdngs17:f1
- }
-
- EpiD3
- EpiD0 ;eoscnp
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd ;EpiVd.inc
- }
- }
- }
- ;-------- end of version
- # 100 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg" 2
- }
- else
- {
- # 1 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epi.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2005
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; epi.mod - an Echo-Planar Imaging module
- ;
- ;****************************************************************
- # 14 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epi.mod"
- ;-------- version with shaped gradients:
- if(PVM_EpiRampMode != SystemRamp)
- {
- (rde1 sync de1 adc1 ph0 syrec) (1u 1u ph1:r):f1 (de)
- Epi20u_de
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 cpdngs17:f1
- }
- else
- {
- if(PVM_EpiDynCorr)
- {
- EpiD12 cpdngs17:f1
- }
- }
- if(PVM_EpiDynCorr) ; dynamic ghost correction
- {
- EpiD13 grad_shape{EpiShape17() * 100, (0), (0)}
- EpiD5 grad_shape{EpiShape9() * 100, (0), (0)}
- EpiD11 grad_shape{EpiShape8() * 100, (0), (0)} ;plateau up
- EpiD5 grad_shape{EpiShape2() * 100, EpiShape15() * 100, (0)} ;ramp down
- EpiD11 grad_shape{EpiShape13() * 100, 0, 0} ;plateau down
- EpiD5 grad_shape{EpiShape12() * 100, EpiShape16() * 100, (0)} ;ramp up
- EpiD11 grad_shape{EpiShape8() * 100, (0), (0)} ;plateau up
- EpiD5 grad_shape{EpiShape10() * 100, (0), (0)}
- EpiD13 grad_shape{EpiShape17() * 100, (0) ,(0)}
- }
- # 56 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epi.mod"
- 10u gc_control
- {
- EpiD4 grad_shape{EpiShape1() * 100, EpiShape3() * 100 + EpiShape18() * 100 * r2d , (0)-EpiShape14() * 100 * ACQ_spatial_phase_2}
- EpiD5 grad_shape{EpiShape9() * 100, EpiShape11() * 100 * Interleaving,0}
- EpiD11 grad_shape{EpiShape8() * 100, 0, 0} ;plateau up
- loop PVM_EpiEchoCounter
- {
- EpiD5 grad_shape{EpiShape2() * 100, EpiShape4() * 100, 0} ;ramp down
- EpiD11 grad_shape{EpiShape13() * 100, 0, 0} ;plateau down
- EpiD5 grad_shape{EpiShape12() * 100, EpiShape7() * 100, 0} ;ramp up
- EpiD11 grad_shape{EpiShape8() * 100, 0, 0} ;plateau up
- }
- EpiD5 grad_shape{EpiShape10() * 100, -EpiShape11() * 100 *Interleaving, 0}
- EpiD4 grad_shape{EpiShape5() * 100, EpiShape6() * 100,EpiShape14() * 100 * ACQ_spatial_phase_2}
- }
- EpiD1
-
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- else ;no prefix navigator or dyn corr: start adc now
- {
- if(PVM_EpiDynCorr)
- {
- EpiD2
- }
- else
- {
- EpiD2 cpdngs17:f1
- }
- }
- EpiD3
- EpiD0 eoscnp #0
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd EpiVd.inc
- }
- }
- } ;--------end of version
- ;----------------------- version with system ramps ---------------------------
- if(PVM_EpiRampMode == SystemRamp)
- {
- (rde1 sync de1 adc1 ph0 syrec) (1u 1u ph1:r):f1 (de)
- Epi20u_de
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 cpdngs17:f1
- }
- # 121 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/epi.mod"
- 10u gc_control
- {
- EpiD7 grad_ramp{PVM_EpiReadDephGrad * 100, PVM_EpiPhaseDephGrad * 100 +Interleaving * 100 *PVM_EpiPhaseEncGrad,0}
- EpiD8 grad_off
- EpiD9 grad_ramp{PVM_EpiReadEvenGrad * 100, 0, 0}
- loop PVM_EpiEchoCounter
- {
- EpiD10 grad_ramp{0, PVM_EpiBlipEvenGrad *100, 0}
- EpiD9 grad_ramp{PVM_EpiReadOddGrad * 100, 0, 0}
- EpiD10 grad_ramp{0, PVM_EpiBlipOddGrad * 100, 0}
- EpiD9 grad_ramp{PVM_EpiReadEvenGrad * 100, 0, 0}
- }
- EpiD8 grad_off
- EpiD7 grad_ramp{PVM_EpiReadDephGrad * 100, PVM_EpiPhaseRephGrad * 100 + Interleaving * 100 * PVM_EpiPhaseRewGrad, 0}
- grad_off
- }
- EpiD1
-
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
- {
- EpiD2 cpdngs17:f1
- }
-
- EpiD3
- EpiD0 eoscnp #0
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd EpiVd.inc
- }
- }
- }
- ;-------- end of version
- # 104 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg" 2
- }
- # 108 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- goOn, 10u
- d0 grad_matrix.inc
- lo to slice times NSLICES
- 0u grad_matrix.res
- d6 ;inter-volume delay
- "lcDs = lcDs - 1"
- if "lcDs >= 0" goto start ;dummy scans
-
- ;----------------------------------averaging loop-------------------
- 0u ipp0
- lo to start times NA
- ;----------------------------------2d loop--------------------------
- 0u rpp0 Interleaving.inc
- lo to start times PVM_EpiNShots
- 0u Interleaving.res
- ;----------------------------------3d loop--------------------------
- if( ACQ_dim >= 3 )
- {
- 0u ACQ_spatial_phase_2.inc
- lo to start times ACQ_size[2]
- }
- ;----------------------------------sattrans loop----------------------
- subr SatTransInc
- ;EXEC_begin SatTransInc SatTransInc()
- # 58 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/SatTransDef.mod"
-
- if(PVM_SatTransOnOff)
- {
- 0u modlis5.inc
- if "StReference == 1"
- {
- 0u StRfPower.inc
- "StReference = 0" ;switch off after 1st 'inc'
- }
- }
-
- ;EXEC_end SatTransInc
- # 132 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- ;----------------------------------repetitions loop-------------------
- lo to start times NR
- # 136 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
- if (ACQ_scan_type != Scan_Experiment) \n{ \n goto start \n}
- exit
- ph0 = 0 2
- ph1 = 0
- # 144 "/opt/PV-7.0.0/exp/stan/nmr/lists/pp/EPI.ppg"
-
|