1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402 |
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; PRESS.ppg - voxel selective spectroscogpy method
- ;
- ;****************************************************************
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include" 1
- ;****************************************************************
- ;
- ; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/Attic/MRI.include,v $
- ;
- ; Copyright (c) 2006
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ;;****************************************************************
- ;MRI.include
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Avance.incl" 1
- ;Avance3.incl
- ; for AV III
- ;
- ;avance-version (13/06/17)
- ;
- ;$CLASS=HighRes Incl
- ;$COMMENT=
- # 169 "/opt/PV6.0.1/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/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include" 2
- define delay aqq
- define delay deparx
- define delay derxadc
- define delay rdepa
- # 21 "/opt/PV6.0.1/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/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
- "rde1=de-de1"
- # 44 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
- ; end of contents of De2.incl
- # 65 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
-
-
- # 74 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
-
- # 128 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
- # 129 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
-
- # 141 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
-
- # 13 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2003-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: PrepModulesHead.mod,v 1.19 2012/01/20 10:19:48 wemch Exp $
- ;
- ; All Rights Reserved
- ;
- ; Declaration of pulseprogram parameters and subroutines for
- ; preparation modules
- ;
- ; Must be included after MRI.include!
- ;
- ;****************************************************************
- # 18 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod"
- ;**** Fat Suppression ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FatSupDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: FatSupDef.mod,v 1.7 2013/07/05 14:15:26 sako Exp $
- ;
- ; 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 fatSupGrad = {$PVM_FatSupGradWait}
- define delay fatSupSpoil = {$PVM_FatSupSpoilDur}
- # 25 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FatSupDef.mod"
- ; convert from ms to s
- "fatSupRamp = fatSupRamp / 1000"
- "fatSupAmp = fatSupAmp / 1000"
- "fatSupGrad = fatSupGrad / 1000"
- "fatSupSpoil = fatSupSpoil / 1000"
- }
- subroutine FatSup
- # 20 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Flow Saturation ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FlowSatDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2005-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: FlowSatDef.mod,v 1.7 2013/06/04 10:11:30 sako Exp $
- ;
- ; 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}
- define pulse SfP0 = {$PVM_SfP0}
- define loopcounter SfLp0 = {$PVM_SfLp0}
- }
- subroutine FlowSat
- subroutine FlowSatInc
- subroutine FlowSatInit
- # 24 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Inversion Pulse ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/InvPulseDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: InvPulseDef.mod,v 1.2 2010/12/15 10:52:31 mah Exp $
- ;
- ; 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/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Magnetisation Transfer ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MagTransDef.mod" 1
- ;****************************************************************
- ; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/Attic/MagTransDef.mod,v $
- ;
- ; 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: MagTransDef.mod,v 1.6.2.1 2015/03/24 14:30:00 sako Exp $
- ;****************************************************************
- ;**** 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/PV6.0.1/exp/stan/nmr/lists/pp/MagTransDef.mod"
- define pulse MtP0 = {$PVM_MtP0}
- define loopcounter MtLp0 = {$PVM_MtLp0}
- }
- subroutine MagTrans
- # 32 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Saturation Pulse ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SatPulseDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: SatPulseDef.mod,v 1.3 2010/12/15 10:52:31 mah Exp $
- ;
- ; 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/PV6.0.1/exp/stan/nmr/lists/pp/SatPulseDef.mod"
- }
- subroutine SatPulse
- # 36 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;*** FOV Saturation ***
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: FovSatDef.mod,v 1.8 2013/08/06 08:09:43 sako Exp $
- ;
- ; 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 fovSatGrad = {$PVM_FovSatGradWait}
- define delay fovSatSpoil = {$PVM_FovSatSpoilDur}
- # 27 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod"
- ; convert from ms to s
- "fovSatRamp = fovSatRamp / 1000"
- "fovSatAmp = fovSatAmp / 1000"
- "fovSatGrad = fovSatGrad / 1000"
- "fovSatSpoil = fovSatSpoil / 1000"
- }
- subroutine FovSat
- # 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod"
- ; backwards compatibility
- subroutine SatSlices
- # 40 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Black Blood ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/BlBloodDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: BlBloodDef.mod,v 1.4 2013/06/04 10:11:30 sako Exp $
- ;
- ; 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
- # 44 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Trigger ****
- # 1 "/opt/PV6.0.1/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
- # 48 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Trigger Out ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerOutDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ; $Id: TriggerOutDef.mod,v 1.2 2013/07/05 14:15:26 sako Exp $
- ;****************************************************************
- 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
- # 52 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Outer Volume Suppression ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2005-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: WsOvsDef.mod,v 1.6 2013/07/08 08:33:32 josh Exp $
- ;
- ; 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
- # 59 "/opt/PV6.0.1/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}
- # 79 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
- }
- subroutine WsOvsMain
- subroutine WsOvs
- subroutine Ws
- # 56 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Solvent Suppression module ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsSatDef.mod" 1
- ;******************************************************************
- ;
- ; Copyright (c) 2002-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: WsSatDef.mod,v 1.11 2013/08/23 08:37:06 josh Exp $
- ;
- ; 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
- # 60 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Selective Inversion Recovery ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SelSliceIrDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: SelSliceIrDef.mod,v 1.5 2013/06/04 10:11:30 sako Exp $
- ;
- ; All Rights Reserved
- ;
- ; SelSliceIrDef.mod : declaration of slice Selective Inversion
- ; Recovery subroutine
- ; call SliceSelIr()
- ;
- ;
- ;****************************************************************
- if(PVM_SelIrOnOff)
- {
- define list<frequency> IrFL = {$PVM_SelIrFL}
- define delay IrD0 = {$PVM_SelIrD0}
- define delay IrD1 = {$PVM_SelIrD1}
- define delay IrD2 = {$PVM_SelIrD2}
- define delay IrD3 = {$PVM_SelIrD3}
- define delay IrD4 = {$PVM_SelIrD4}
- # 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SelSliceIrDef.mod"
- define pulse IrP0 = {$PVM_SelIrP0}
- define loopcounter IrL0 = {$PVM_SelIrL0}
- }
- subroutine SliceSelIr
- # 64 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Tagging ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TagDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: TagDef.mod,v 1.6 2013/06/05 12:55:35 sako Exp $
- ;
- ; 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/PV6.0.1/exp/stan/nmr/lists/pp/TagDef.mod"
- define pulse TaggP0 = {$PVM_TaggingP0}
- define loopcounter TaggL0 = {$PVM_TaggingLp0}
- }
- subroutine Tagging
- # 68 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Noe ****
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/NoeDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: NoeDef.mod,v 1.1 2007/07/02 14:26:00 mawi Exp $
- ;
- ; 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
- # 72 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Evolution ****
- # 1 "/opt/PV6.0.1/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
- # 76 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- # 15 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2
- # 17 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- define delay de4
- "de4=0.00002s-de"
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/acqdec.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2012
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; $Id: acqdec.mod,v 1.2.2.1 2014/10/22 14:10:34 josh Exp $
- ;
- ; All Rights Reserved
- ;
- ; Declaration of subroutine for decoupling
- ;
- ;****************************************************************
- # 18 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/acqdec.mod"
- if(PVM_DecOnOff == On)
- {
- define delay DecD0 = {$PVM_DecD0}
- define delay DecD1 = {$PVM_DecD1}
- }
- define delay durx
- "durx = 10u - de - 1u" ; 10u - fixed delays
- subroutine acqdec
- subroutine acqdec_jobs
- # 20 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2
- # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Navigator.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2011
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; Navigator.mod - Preparation Module for Navigator
- ;
- ;****************************************************************
- if (PVM_NavOnOff == On)
- {
- define list<frequency> navlist = {$PVM_NavFrequencyList}
- define list<frequency> navrec ={$PVM_NavFreqRecList}
- define list<grad_vector> vec ={$PVM_NavVec}
- define pulse NavP0 = {$PVM_NavP0}
- define delay NAVD1 = {$PVM_NavD1}
- define delay NAVD2 = {$PVM_NavD2}
- define delay NAVD3 = {$PVM_NavD3}
- define delay NAVD4 = {$PVM_NavD4}
- }
- subroutine Navigator
- subroutine Navigator_NOPH
- subroutine NavigatorDummy
- subroutine NavigatorGlobal
- # 21 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2
- define loopcounter lds={$PVM_DummyScans}
- define list<loopcounter> avList={$AverageList}
- preset off
- # 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.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 }
- }
- 10u ;delay after 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 } needed
- 3u setrtp1|1 \n 7u setrtp1^1 ; lasts 10u
- # 41 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- ;-------D/P-----GRAD-----------------------------RF/ACQ---------
- 1u rpp1
- 1u rpp2
- 1u rpp3
- 1u rpp31
- start, 10u
- 1m fq8(receive):f1
- subr TriggerSlice
- ;EXEC_begin TriggerSlice TriggerSlice()
- # 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
-
- if (PVM_TriggerMode == per_Slice)
- {
- ;EXEC_begin Trigger Trigger()
- # 23 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
-
- if (PVM_TriggerModule == On)
- {
- trigDur setnmr3|6
-
- if (CONFIG_instrument_type == Avance_III)
- {
- trigDur trignl1
- trigDur trigpe3
- }
- else
- {
- trigDur
- trigDur trigpl1
- }
-
- trigDur setnmr3^6
- trigDel
- }
-
- ;EXEC_end Trigger
- }
-
- ;EXEC_end TriggerSlice
- # 51 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- subr Noe
- ;EXEC_begin Noe Noe()
- # 24 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/NoeDef.mod"
-
- if(PVM_NoeOnOff == On)
- {
- if (PVM_NoeMode == Continuous_Wave_Noe)
- {
- 3u pl1:f2
- NoeD0 cw:f2
- 1u do:f2
- NoeD1
- }
- if (PVM_NoeMode == Composite_Pulse_Noe)
- {
- 3u pl1:f2
- NoeD0 cpds1:f2
- 1u do:f2
- NoeD1
- }
- }
-
- ;EXEC_end Noe
- # 52 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- subr WsOvs
- ;EXEC_begin WsOvs WsOvs(phase ph0, phase ph0)
- # 248 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;EXEC_begin WsOvsMain WsOvsMain(phase ph0, phase ph0, any PVM_OvsOnOff)
- # 82 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; NO_SUPPRESSION
- ;-------------------------------------------------------------------------------
- ;WS_Mode == NO_SUPPRESSION
- if ( PVM_WsMode == 0 ) {
- if ( PVM_OvsOnOff == On ) {
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- }
- }
- ;-------------------------------------------------------------------------------
- ; CHESS scheme
- ;-------------------------------------------------------------------------------
- if ( PVM_WsMode == 1 ) {
- 2u Wslist:f1
- ;first pulse
- if ( PVM_WsOnOff == On ) {
- (WsP0:sp50 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp0
- }
- ChD1[0] grad_ramp{ PVM_ChTrim[0], PVM_ChTrim[1], PVM_ChTrim[2] }
- ChD2[0] grad_off
- if ( PVM_OvsOnOff == On ) {
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- 2u Wslist:f1
- }
- ;second pulse
- if ( PVM_WsOnOff == On ) {
- (WsP1:sp51 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp1
- }
- ChD1[1] grad_ramp{ PVM_ChTrim[3], PVM_ChTrim[4], PVM_ChTrim[5] }
- ChD2[1] grad_off
- if ( PVM_OvsOnOff == On ) {
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- 2u Wslist:f1
- }
- ;third pulse
- if ( PVM_WsOnOff == On ) {
- (WsP2:sp52 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp2
- }
- ChD1[2] grad_ramp{ PVM_ChTrim[6], PVM_ChTrim[7], PVM_ChTrim[8] }
- ChD2[2] grad_off
- if ( PVM_OvsOnOff == On ) {
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- 2u
- }
- };end of CHESS
- ;-------------------------------------------------------------------------------
- ; VAPOR scheme
- ;-------------------------------------------------------------------------------
- if ( PVM_WsMode == 2 ) {
- 2u Wslist:f1
- ;first pulse
- if ( PVM_WsOnOff == On ) {
- (WsP0:sp50 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp0
- }
- VpD1[0] grad_ramp{ PVM_VpTrim[0], PVM_VpTrim[1], PVM_VpTrim[2] }
- VpD2[0] grad_off
- ;second pulse
- if ( PVM_WsOnOff == On ) {
- (WsP0:sp50 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp0
- }
- VpD1[1] grad_ramp{ PVM_VpTrim[3], PVM_VpTrim[4], PVM_VpTrim[5] }
- VpD2[1] grad_off
- ;third pulse
- if ( PVM_WsOnOff == On ) {
- (WsP1:sp51 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp1
- }
- VpD1[2] grad_ramp{ PVM_VpTrim[6], PVM_VpTrim[7], PVM_VpTrim[8] }
- VpD2[2] grad_off
- ;fourth pulse
- if ( PVM_WsOnOff == On ) {
- (WsP0:sp50 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp0
- }
- if ( PVM_OvsOnOff == On ) {
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- 2u Wslist:f1
- }
- VpD1[3] grad_ramp{ PVM_VpTrim[9], PVM_VpTrim[10], PVM_VpTrim[11] }
- VpD2[3] grad_off
- ;5.th pulse
- if ( PVM_WsOnOff == On ) {
- ( WsP1:sp51 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp1
- }
- VpD1[4] grad_ramp{ PVM_VpTrim[12], PVM_VpTrim[13], PVM_VpTrim[14] }
- VpD2[4] grad_off
- if ( PVM_OvsOnOff == On ) {
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- 2u Wslist:f1
- }
- ;6.th pulse
- if ( PVM_WsOnOff == On ) {
- (WsP0:sp50 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp0
- }
- VpD1[5] grad_ramp{ PVM_VpTrim[15], PVM_VpTrim[16], PVM_VpTrim[17] }
- VpD2[5] grad_off
- ;7.th pulse
- if ( PVM_WsOnOff == On ) {
- (WsP1:sp51 ph0):f1
- }
- if ( PVM_WsOnOff == Off ) {
- WsNp1
- }
- VpD1[6] grad_ramp{ PVM_VpTrim[18], PVM_VpTrim[19], PVM_VpTrim[20] }
- VpD2[6] grad_off
- if ( PVM_OvsOnOff == On ) {
- ;EXEC_begin Ovs Ovs(phase ph0)
- # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
-
- ;-------------------------------------------------------------------------------
- ; delays grads rf/rec comments
- ;-------------------------------------------------------------------------------
- ;pulses 1 + 2
- OvsD0 grad_ramp{ PVM_OvsTrim0, 0.0, 0.0 } Ovslist[0]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[1]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ PVM_OvsTrim1, 0.0, 0.0 }
-
- ;pulses 3 + 4
- OvsD0 grad_ramp{ 0.0, PVM_OvsTrim0, 0.0 } Ovslist[2]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[3]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, PVM_OvsTrim2, 0.0 }
-
- ;pulses 5 + 6
- OvsD0 grad_ramp{ 0.0, 0.0, PVM_OvsTrim0 } Ovslist[4]:f1
- (OvsP0:sp53 ph0):f1
- 10u Ovslist[5]:f1
- (OvsP0:sp53 ph0):f1
- OvsD1 grad_ramp{ 0.0, 0.0, PVM_OvsTrim3 }
- OvsD0 grad_off
-
- ;EXEC_end Ovs
- 2u
- }
- };end vapor
- ;end subr WsOvsMain
- ;EXEC_end WsOvsMain
-
- ;EXEC_end WsOvs
- # 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- # 55 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- ;---------localisation module------------------------------------
-
- d4 grad_ramp{g1, 0.0, 0.0} fq1:f1
- d6 gatepulse 1
- (p1:sp1 ph1):f1
- d6
- d7 grad_off
- d8 grad_ramp{g4, g6, g7}
- d4 grad_ramp{0.0, g2, 0.0} fq1:f1
- d6 gatepulse 1
- (p2:sp2 ph2):f1
- d6
- d8 grad_ramp{g5, g6, g7}
- d9 grad_off
- ;-------pulse adjustments--------------------------------------
- if ( PVM_ppgFlag3 == Yes ) {
- d12 grad_ramp{g11, g12, g13}
- d4 groff
- }
- 20u ;for symmetry with de4
- d10 grad_ramp{g8, g9, g10} fq1:f1
- d4 grad_ramp{0.0, 0.0, g3}
- d6 gatepulse 1
- (p3:sp3 ph3):f1
- d6
- d10 grad_ramp{g8, g9, g10}
- d11 grad_off
- # 85 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- ;---------data acquisition--------------------------------------------
- ;pulse adjustments:
- if ( PVM_ppgFlag3 == Yes )
- {
- d4 grad_ramp{g14, g15, g16}
- de4
- rdepa \n deparx adc ph0 syrec fqatofqb:f1 \n derxadc ph31:r \n deadc
- aqq cpdngs17:f1
- }
- else
- {
- 10u
- subr acqdec_jobs
- ;EXEC_begin acqdec_jobs acqdec_jobs(phase ph0, phase ph31)
- # 58 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/acqdec.mod"
-
- if (PVM_DecOnOff == Off)
- {
- durx
- (rde1 sync de1 adc1 ph0 syrec) (1u 1u ph31:r):f1 (de)
- 1u
- aqq cpdngs17:f1
- }
- if (PVM_DecOnOff == On)
- {
- if (PVM_DecMode == Continuous_Wave)
- {
- durx pl2:f2
- (rde1 sync de1 adc1 ph0 syrec) (1u 1u ph31:r):f1 (de)
- 1u cpdngs17:f1
- DecD0 cw:f2
- DecD1 do:f2
- }
- if (PVM_DecMode == Composite_Pulse)
- {
- durx pl2:f2
- (rde1 sync de1 adc1 ph0 syrec) (1u 1u ph31:r):f1 (de)
- 1u cpdngs17:f1
- DecD0 cpd2:f2
- DecD1 do:f2
- }
- }
-
- ;EXEC_end acqdec_jobs
- # 97 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- }
- 2m grad_off
- 500u eoscnp
- 500u ;eoscnp with jobs needs a second following delay >8us
- if(PVM_NavOnOff == On)
- {
- 10u swj2
- 1u setrtp1|1 \n 9u setrtp1^1 ;lasts 10u
- 20u reload B0
- subr NavigatorGlobal
- ;EXEC_begin NavigatorGlobal NavigatorGlobal(any sp0, phase ph31, phase ph0, phase ph31)
- # 90 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Navigator.mod"
-
- if (PVM_NavOnOff == On)
- {
- 10u navrec(receive):f1
- 5u navlist:f1
- NAVD2 gatepulse 1
- (NavP0:sp0 ph31):f1
- 10u
- (rde1 sync de1 adc2 ph0 syrec) (1u 1u ph31:r):f1 (de) ;includes 6u
- NAVD4 cpdngs18:f1
- 169u ;delay for scan shift
- 10u eoscnp #1
- }
-
- ;EXEC_end NavigatorGlobal
- # 108 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- 100u ; 2 delays needed after ADC_END_JOB
- 10u swj1
- 3u setrtp1|1 \n 7u setrtp1^1 ;lasts 10u
- }
- d1 ;TR delay
- ;---------dummy scans ------------------------------------------------
- "lds = lds - 1"
- if "lds>=0" goto start
- # 119 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
- ;---------averaging & phase cycling-----------------------------------
- if ( ACQ_scan_type == Scan_Experiment ) {
- 1u ipp1
- 1u ipp2
- 1u ipp3
- 1u ipp31
- }
- lo to start times avList
- avList.inc
- 1u rpp1
- 1u rpp2
- 1u rpp3
- 1u rpp31
-
- lo to start times NR
- if (ACQ_scan_type != Scan_Experiment) \n{ \n goto start \n}
- exit
- ph0 = 0
- ph1 = {0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0}^2^1^3
- ph2 = {0 0 1 1 0 0 1 1 2 2 3 3 2 2 3 3}^2^1^3
- ph3 = {0 2 0 2 1 3 1 3 0 2 0 2 1 3 1 3}^2^1^3
- ph31= {0 0 2 2 2 2 0 0 0 0 2 2 2 2 0 0}^2^1^3
|