pulseprogram 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132
  1. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  2. ;****************************************************************
  3. ;
  4. ; Copyright (c) 2002
  5. ; Bruker BioSpin MRI GmbH
  6. ; D-76275 Ettlingen, Germany
  7. ;
  8. ; All Rights Reserved
  9. ;
  10. ; a RARE imaging experiment
  11. ;
  12. ;****************************************************************
  13. ;
  14. ;
  15. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include" 1
  16. ;****************************************************************
  17. ;
  18. ; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/Attic/MRI.include,v $
  19. ;
  20. ; Copyright (c) 2006
  21. ; Bruker BioSpin MRI GmbH
  22. ; D-76275 Ettlingen, Germany
  23. ;
  24. ; All Rights Reserved
  25. ;
  26. ;;****************************************************************
  27. ;MRI.include
  28. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Avance.incl" 1
  29. ;Avance3.incl
  30. ; for AV III
  31. ;
  32. ;avance-version (13/06/17)
  33. ;
  34. ;$CLASS=HighRes Incl
  35. ;$COMMENT=
  36. # 169 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Avance.incl"
  37. ;$Id: Avance3.incl,v 1.9.6.1 2013/06/17 15:32:55 pfre Exp $
  38. # 14 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include" 2
  39. define delay aqq
  40. define delay deparx
  41. define delay derxadc
  42. define delay rdepa
  43. # 21 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  44. "aqq=dw*td"
  45. "rdepa=de-depa"
  46. "deparx=depa-derx"
  47. "derxadc=derx-deadc"
  48. ; contents of De2.incl - usage for different hardware versions to
  49. ; be checked - intermediate solution to support Jobs
  50. define delay rde1
  51. # 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  52. "rde1=de-de1"
  53. # 44 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  54. ; end of contents of De2.incl
  55. # 65 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  56. # 74 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  57. # 128 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  58. # 129 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  59. # 141 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
  60. # 15 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg" 2
  61. preset off
  62. define delay denab
  63. "denab = d3 - de"
  64. # 21 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  65. define delay d5m40u
  66. "d5m40u = d5 - 40u"
  67. define loopcounter lc1
  68. "lc1 = ds"
  69. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 1
  70. ;****************************************************************
  71. ;
  72. ; Copyright (c) 2003-2007
  73. ; Bruker BioSpin MRI GmbH
  74. ; D-76275 Ettlingen, Germany
  75. ;
  76. ; $Id: PrepModulesHead.mod,v 1.19 2012/01/20 10:19:48 wemch Exp $
  77. ;
  78. ; All Rights Reserved
  79. ;
  80. ; Declaration of pulseprogram parameters and subroutines for
  81. ; preparation modules
  82. ;
  83. ; Must be included after MRI.include!
  84. ;
  85. ;****************************************************************
  86. ;**** Fat Suppression ****
  87. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FatSupDef.mod" 1
  88. ;****************************************************************
  89. ;
  90. ; Copyright (c) 2002-2007
  91. ; Bruker BioSpin MRI GmbH
  92. ; D-76275 Ettlingen, Germany
  93. ;
  94. ; $Id: FatSupDef.mod,v 1.7 2013/07/05 14:15:26 sako Exp $
  95. ;
  96. ; All Rights Reserved
  97. ;
  98. ; FatSupDef.mod : Declaration of Fat Suppression Subroutine
  99. ;
  100. ;****************************************************************
  101. # 15 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FatSupDef.mod"
  102. if (PVM_FatSupPerform == Yes)
  103. {
  104. define pulse fatSupPul = {$PVM_FatSupRfLength}
  105. define list<frequency> fatSupList = {$PVM_FatSupFL}
  106. define delay fatSupRamp = {$PVM_FatSupRampTime}
  107. define delay fatSupAmp = {$PVM_FatSupAmpEnable}
  108. define delay fatSupGrad = {$PVM_FatSupGradWait}
  109. define delay fatSupSpoil = {$PVM_FatSupSpoilDur}
  110. ; convert from ms to s
  111. "fatSupRamp = fatSupRamp / 1000"
  112. "fatSupAmp = fatSupAmp / 1000"
  113. "fatSupGrad = fatSupGrad / 1000"
  114. "fatSupSpoil = fatSupSpoil / 1000"
  115. }
  116. subroutine FatSup
  117. # 20 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  118. ;**** Flow Saturation ****
  119. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FlowSatDef.mod" 1
  120. ;****************************************************************
  121. ;
  122. ; Copyright (c) 2005-2007
  123. ; Bruker BioSpin MRI GmbH
  124. ; D-76275 Ettlingen, Germany
  125. ;
  126. ; $Id: FlowSatDef.mod,v 1.7 2013/06/04 10:11:30 sako Exp $
  127. ;
  128. ; All Rights Reserved
  129. ;
  130. ; FlowSatDef.mod: Declaration of subroutines for Flow Saturation
  131. ; call
  132. ; subr FlowSat()
  133. ; subr FlowSatInit()
  134. ; subr FlowSatInc()
  135. ;
  136. ;****************************************************************
  137. if(PVM_InFlowSatOnOff == 1)
  138. {
  139. define list<frequency> modlis4 = {$PVM_InFlowSatFL}
  140. define list<grad_scalar> flowSatGrad={$PVM_InFlowSatGrad}
  141. define delay SfD0 = {$PVM_SfD0}
  142. define delay SfD1 = {$PVM_SfD1}
  143. define delay SfD2 = {$PVM_SfD2}
  144. define pulse SfP0 = {$PVM_SfP0}
  145. define loopcounter SfLp0 = {$PVM_SfLp0}
  146. }
  147. subroutine FlowSat
  148. subroutine FlowSatInc
  149. subroutine FlowSatInit
  150. # 24 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  151. ;**** Inversion Pulse ****
  152. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/InvPulseDef.mod" 1
  153. ;****************************************************************
  154. ;
  155. ; Copyright (c) 2002-2007
  156. ; Bruker BioSpin MRI GmbH
  157. ; D-76275 Ettlingen, Germany
  158. ;
  159. ; $Id: InvPulseDef.mod,v 1.2 2010/12/15 10:52:31 mah Exp $
  160. ;
  161. ; All Rights Reserved
  162. ;
  163. ; InvPulseDef.mod : Declaration of Inversion Pulse subroutine
  164. ;
  165. ; call
  166. ; subr InvPulse()
  167. ;
  168. ;****************************************************************
  169. ;
  170. ; PVM_InvRFPulseArr :
  171. ;
  172. ; sp22 TPQQ[14].name : PVM_InvRFPulsePropertyArr[0].Filename
  173. ;
  174. ; PVM_IpP0 : PVM_InvRFPulseArr[0].PulseLength
  175. ;
  176. ; PVM_IpD2 : PVM_InvPulseDelay[0]
  177. ; PVM_IpD3 : PVM_InvPulseSpoilTime[0]
  178. ; PVM_IpD1 : CONFIG_amplifier _enable
  179. ; PVM_IpD0 : PVM_RampTime
  180. ;
  181. if(PVM_InvPulseOnOff == 1)
  182. {
  183. define list<frequency> modlis2= {$PVM_InvPulseOffsetHz}
  184. define delay IpD0 = {$PVM_IpD0}
  185. define delay IpD1 = {$PVM_IpD1}
  186. define delay IpD2 = {$PVM_IpD2}
  187. define delay IpD3 = {$PVM_IpD3}
  188. define pulse IpP0 = {$PVM_IpP0}
  189. }
  190. subroutine InvPulse
  191. # 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  192. ;**** Magnetisation Transfer ****
  193. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MagTransDef.mod" 1
  194. ;****************************************************************
  195. ; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/Attic/MagTransDef.mod,v $
  196. ;
  197. ; Copyright (c) 2005-2007
  198. ; Bruker BioSpin MRI GmbH
  199. ; D-76275 Ettlingen, Germany
  200. ;
  201. ; All Rights Reserved
  202. ;
  203. ; MagTransDef.mod: Declaration of subroutine for Magnetization
  204. ; transfer
  205. ; call
  206. ; subr MagTrans()
  207. ;
  208. ; $Id: MagTransDef.mod,v 1.6.2.1 2015/03/24 14:30:00 sako Exp $
  209. ;****************************************************************
  210. ;**** Magnetisation Transfer Module ****
  211. if(PVM_MagTransOnOff)
  212. {
  213. define list<frequency> modlis3 = {$PVM_MagTransFL}
  214. define delay MtD0 = {$PVM_MtD0}
  215. define delay MtD1 = {$PVM_MtD1}
  216. define delay MtD2 = {$PVM_MtD2}
  217. define delay MtD3 = {$PVM_MtD3}
  218. # 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MagTransDef.mod"
  219. define pulse MtP0 = {$PVM_MtP0}
  220. define loopcounter MtLp0 = {$PVM_MtLp0}
  221. }
  222. subroutine MagTrans
  223. # 32 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  224. ;**** Saturation Pulse ****
  225. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SatPulseDef.mod" 1
  226. ;****************************************************************
  227. ;
  228. ; Copyright (c) 2002-2003
  229. ; Bruker BioSpin MRI GmbH
  230. ; D-76275 Ettlingen, Germany
  231. ;
  232. ; $Id: SatPulseDef.mod,v 1.3 2010/12/15 10:52:31 mah Exp $
  233. ;
  234. ; All Rights Reserved
  235. ;
  236. ; SatPulseDef.mod : Declaration of Saturation Pulse subroutines
  237. ; call
  238. ; subr SatPulse()
  239. ;
  240. ;****************************************************************
  241. ;
  242. ; PVM_SatRFPulseArr :
  243. ;
  244. ; sp28 DPQQ[12].name : PVM_SatRFPulsePropertyArr[0].Filename
  245. ; sp29 DPQQ[13].name : PVM_SatRFPulsePropertyArr[1].Filename
  246. ; sp30 DPQQ[14].name : PVM_SatRFPulsePropertyArr[2].Filename
  247. ; sp31 DPQQ[15].name : PVM_SatRFPulsePropertyArr[3].Filename
  248. ;
  249. ; PVM_SpP0 : PVM_SatRFPulseArr[0].PulseLength
  250. ; PVM_SpP1 : PVM_SatRFPulseArr[1].PulseLength
  251. ; PVM_SpP2 : PVM_SatRFPulseArr[2].PulseLength
  252. ; PVM_SpP3 : PVM_SatRFPulseArr[3].PulseLength
  253. ;
  254. ; PVM_SpD2 : PVM_SatPulseDelay1[0]
  255. ; PVM_SpD6 : PVM_SatPulseSpoilTime[0]
  256. ; PVM_SpD10 : PVM_SatPulseDelay2[0]
  257. ; PVM_SpD3 : PVM_SatPulseSpoilTime[1]
  258. ; PVM_SpD7 : PVM_SatPulseDelay1[1]
  259. ; PVM_SpD11 : PVM_SatPulseDelay2[1]
  260. ; PVM_SpD4 : PVM_SatPulseDelay1[2]
  261. ; PVM_SpD8 : PVM_SatPulseSpoilTime[2]
  262. ; PVM_SpD12 : PVM_SatPulseDelay2[2]
  263. ; PVM_SpD5 : PVM_SatPulseDelay1[3]
  264. ; PVM_SpD9 : PVM_SatPulseSpoilTime[3]
  265. ; PVM_SpD13 : PVM_SatPulseDelay2[3]
  266. ;
  267. if(PVM_SatPulseOnOff == 1)
  268. {
  269. define list<frequency> modlis7 = {$PVM_SatPulseOffsetHz}
  270. define delay SpD0 = {$PVM_SpD0}
  271. define delay SpD1 = {$PVM_SpD1}
  272. define delay SpD2 = {$PVM_SpD2}
  273. define delay SpD3 = {$PVM_SpD3}
  274. define delay SpD4 = {$PVM_SpD4}
  275. define delay SpD5 = {$PVM_SpD5}
  276. define delay SpD6 = {$PVM_SpD6}
  277. define delay SpD7 = {$PVM_SpD7}
  278. define delay SpD8 = {$PVM_SpD8}
  279. define delay SpD9 = {$PVM_SpD9}
  280. define delay SpD10 = {$PVM_SpD10}
  281. define delay SpD11 = {$PVM_SpD11}
  282. define delay SpD12 = {$PVM_SpD12}
  283. define delay SpD13 = {$PVM_SpD13}
  284. define pulse SpP0 = {$PVM_SpP0}
  285. define pulse SpP1 = {$PVM_SpP1}
  286. define pulse SpP2 = {$PVM_SpP2}
  287. define pulse SpP3 = {$PVM_SpP3}
  288. # 66 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SatPulseDef.mod"
  289. }
  290. subroutine SatPulse
  291. # 36 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  292. ;*** FOV Saturation ***
  293. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod" 1
  294. ;****************************************************************
  295. ;
  296. ; Copyright (c) 2002-2007
  297. ; Bruker BioSpin MRI GmbH
  298. ; D-76275 Ettlingen, Germany
  299. ;
  300. ; $Id: FovSatDef.mod,v 1.8 2013/08/06 08:09:43 sako Exp $
  301. ;
  302. ; All Rights Reserved
  303. ;
  304. ; FovSat.mod : Declaration of FOV Saturation subroutine
  305. ; call: subr FovSat()
  306. ;
  307. ;****************************************************************
  308. if (PVM_FovSatOnOff == On)
  309. {
  310. define pulse fovSatPul = {$PVM_FovSatRfLength}
  311. define list<frequency> fovSatList = {$PVM_FovSatFL}
  312. define delay fovSatRamp = {$PVM_FovSatRampTime}
  313. define delay fovSatAmp = {$PVM_FovSatAmpEnable}
  314. define delay fovSatGrad = {$PVM_FovSatGradWait}
  315. define delay fovSatSpoil = {$PVM_FovSatSpoilDur}
  316. # 27 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod"
  317. ; convert from ms to s
  318. "fovSatRamp = fovSatRamp / 1000"
  319. "fovSatAmp = fovSatAmp / 1000"
  320. "fovSatGrad = fovSatGrad / 1000"
  321. "fovSatSpoil = fovSatSpoil / 1000"
  322. }
  323. subroutine FovSat
  324. # 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod"
  325. ; backwards compatibility
  326. subroutine SatSlices
  327. # 40 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  328. ;**** Black Blood ****
  329. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/BlBloodDef.mod" 1
  330. ;****************************************************************
  331. ;
  332. ; Copyright (c) 2007
  333. ; Bruker BioSpin MRI GmbH
  334. ; D-76275 Ettlingen, Germany
  335. ;
  336. ; $Id: BlBloodDef.mod,v 1.4 2013/06/04 10:11:30 sako Exp $
  337. ;
  338. ; All Rights Reserved
  339. ;
  340. ; BlBloodDef.mod : Declaration of Black blood subroutine
  341. ;
  342. ; call
  343. ; subr BlBlood(ph0) : Black blood preparation with RF phaselist
  344. ; ph0
  345. ;
  346. ;****************************************************************
  347. if(PVM_BlBloodOnOff)
  348. {
  349. define list<frequency> modlis8 = {$PVM_BlBloodFL}
  350. define delay BlbD0 = {$PVM_BlbD0}
  351. define delay BlbD1 = {$PVM_BlbD1}
  352. define delay BlbD2 = {$PVM_BlbD2}
  353. define delay BlbD3 = {$PVM_BlbD3}
  354. define pulse BlbP0 = {$PVM_BlbP0}
  355. }
  356. subroutine BlBlood
  357. # 44 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  358. ;**** Trigger ****
  359. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod" 1
  360. ;****************************************************************
  361. ;
  362. ; Copyright (c) 1998-2003
  363. ; Bruker BioSpin MRI GmbH
  364. ; D-76275 Ettlingen, Germany
  365. ;
  366. ; All Rights Reserved
  367. ;
  368. ; TriggerDef.mod - Trigger Module
  369. ;
  370. ;****************************************************************
  371. if (PVM_TriggerModule == On)
  372. {
  373. define delay trigDur = {$PVM_TriggerDur}
  374. define delay trigDel = {$PVM_TriggerDelay}
  375. ; convert from ms to s
  376. "trigDur = trigDur / 1000"
  377. "trigDel = trigDel / 1000"
  378. }
  379. subroutine Trigger
  380. subroutine TriggerPhase
  381. subroutine TriggerSlice
  382. # 48 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  383. ;**** Trigger Out ****
  384. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerOutDef.mod" 1
  385. ;****************************************************************
  386. ;
  387. ; Copyright (c) 2003
  388. ; Bruker BioSpin MRI GmbH
  389. ; D-76275 Ettlingen, Germany
  390. ;
  391. ; All Rights Reserved
  392. ; $Id: TriggerOutDef.mod,v 1.2 2013/07/05 14:15:26 sako Exp $
  393. ;****************************************************************
  394. if (PVM_TriggerOutOnOff == On)
  395. {
  396. define delay trigOutDur = {$PVM_TriggerOutDur}
  397. define delay trigOutDel = {$PVM_TriggerOutDelay}
  398. ; convert from ms to s
  399. "trigOutDur = trigOutDur / 1000"
  400. "trigOutDel = trigOutDel / 1000"
  401. }
  402. subroutine TriggerOut
  403. subroutine TriggerOutStart
  404. subroutine TriggerOutSlice
  405. subroutine TriggerOutVolume
  406. # 52 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  407. ;**** Outer Volume Suppression ****
  408. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod" 1
  409. ;****************************************************************
  410. ;
  411. ; Copyright (c) 2005-2007
  412. ; Bruker BioSpin MRI GmbH
  413. ; D-76275 Ettlingen, Germany
  414. ;
  415. ; $Id: WsOvsDef.mod,v 1.6 2013/07/08 08:33:32 josh Exp $
  416. ;
  417. ; All Rights Reserved
  418. ;
  419. ; WsOvsDef.mod: Declaration of water suppression and Outer
  420. ; volume suppression subroutines
  421. ;
  422. ; call
  423. ; subr Ovs(ph0) ; execution of OVS with ph0 phaselist
  424. ;
  425. ; subr WsOvs(ph0,ph1) : execution of OVS with ph0 and WS with ph1
  426. ; phaselist
  427. ;****************************************************************
  428. ;**** OuterVolumeSuppression ****
  429. if(PVM_OvsOnOff == 1)
  430. {
  431. define list<frequency> Ovslist={$PVM_OvsFrequencyList}
  432. define delay OvsD0 = {$PVM_OvsD0}
  433. define delay OvsD1 = {$PVM_OvsD1}
  434. define pulse OvsP0 = {$PVM_OvsP0}
  435. }
  436. subroutine Ovs
  437. # 59 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
  438. ;*** WaterSuppression Module with OVS ****
  439. if (PVM_WsMode)
  440. {
  441. define list<frequency> Wslist={$PVM_WsOffsetHz}
  442. define pulse WsP0 = {$PVM_WsP0}
  443. define pulse WsP1 = {$PVM_WsP1}
  444. define pulse WsP2 = {$PVM_WsP2}
  445. define delay WsNp0
  446. "WsNp0 = WsP0"
  447. define delay WsNp1
  448. "WsNp1 = WsP1"
  449. define delay WsNp2
  450. "WsNp2 = WsP2"
  451. define list<delay> ChD1={$PVM_ChppgD1}
  452. define list<delay> ChD2={$PVM_ChppgD2}
  453. define list<delay> VpD1={$PVM_VpppgD1}
  454. define list<delay> VpD2={$PVM_VpppgD2}
  455. # 79 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
  456. }
  457. subroutine WsOvsMain
  458. subroutine WsOvs
  459. subroutine Ws
  460. # 56 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  461. ;**** Solvent Suppression module ****
  462. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsSatDef.mod" 1
  463. ;******************************************************************
  464. ;
  465. ; Copyright (c) 2002-2007
  466. ; Bruker BioSpin MRI GmbH
  467. ; D-76275 Ettlingen, Germany
  468. ;
  469. ; $Id: WsSatDef.mod,v 1.11 2013/08/23 08:37:06 josh Exp $
  470. ;
  471. ; All Rights Reserved
  472. ;
  473. ; WsSatDef.mod - Declaration of water suppression and FOV saturation
  474. ; subroutines
  475. ; call
  476. ; subr WsSat(ph0) : execution of WS with ph0 phaselist and
  477. ; FOV saturation (as passed as argument)
  478. ;
  479. ;*******************************************************************
  480. ; Definitions for WsPpgParams are included in WsOvsDef.mod
  481. subroutine WsSatMain
  482. subroutine WsSat
  483. # 60 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  484. ;**** Selective Inversion Recovery ****
  485. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SelSliceIrDef.mod" 1
  486. ;****************************************************************
  487. ;
  488. ; Copyright (c) 2007
  489. ; Bruker BioSpin MRI GmbH
  490. ; D-76275 Ettlingen, Germany
  491. ;
  492. ; $Id: SelSliceIrDef.mod,v 1.5 2013/06/04 10:11:30 sako Exp $
  493. ;
  494. ; All Rights Reserved
  495. ;
  496. ; SelSliceIrDef.mod : declaration of slice Selective Inversion
  497. ; Recovery subroutine
  498. ; call SliceSelIr()
  499. ;
  500. ;
  501. ;****************************************************************
  502. if(PVM_SelIrOnOff)
  503. {
  504. define list<frequency> IrFL = {$PVM_SelIrFL}
  505. define delay IrD0 = {$PVM_SelIrD0}
  506. define delay IrD1 = {$PVM_SelIrD1}
  507. define delay IrD2 = {$PVM_SelIrD2}
  508. define delay IrD3 = {$PVM_SelIrD3}
  509. define delay IrD4 = {$PVM_SelIrD4}
  510. # 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SelSliceIrDef.mod"
  511. define pulse IrP0 = {$PVM_SelIrP0}
  512. define loopcounter IrL0 = {$PVM_SelIrL0}
  513. }
  514. subroutine SliceSelIr
  515. # 64 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  516. ;**** Tagging ****
  517. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TagDef.mod" 1
  518. ;****************************************************************
  519. ;
  520. ; Copyright (c) 2007
  521. ; Bruker BioSpin MRI GmbH
  522. ; D-76275 Ettlingen, Germany
  523. ;
  524. ; $Id: TagDef.mod,v 1.6 2013/06/05 12:55:35 sako Exp $
  525. ;
  526. ; All Rights Reserved
  527. ;
  528. ; TagDef.mod : Declaration of tagging subroutine
  529. ; call
  530. ; subr Tagging()
  531. ;
  532. ;****************************************************************
  533. if(PVM_TaggingOnOff)
  534. {
  535. define list<frequency> taggfreq={$PVM_TaggingFL}
  536. define delay TaggD0 = {$PVM_TaggingD0}
  537. define delay TaggD1 = {$PVM_TaggingD1}
  538. define delay TaggD2 = {$PVM_TaggingD2}
  539. define delay TaggD3 = {$PVM_TaggingD3}
  540. define delay TaggD4 = {$PVM_TaggingD4}
  541. define delay TaggD5 = {$PVM_TaggingD5}
  542. # 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TagDef.mod"
  543. define pulse TaggP0 = {$PVM_TaggingP0}
  544. define loopcounter TaggL0 = {$PVM_TaggingLp0}
  545. }
  546. subroutine Tagging
  547. # 68 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  548. ;**** Noe ****
  549. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/NoeDef.mod" 1
  550. ;****************************************************************
  551. ;
  552. ; Copyright (c) 2007
  553. ; Bruker BioSpin MRI GmbH
  554. ; D-76275 Ettlingen, Germany
  555. ;
  556. ; $Id: NoeDef.mod,v 1.1 2007/07/02 14:26:00 mawi Exp $
  557. ;
  558. ; All Rights Reserved
  559. ;
  560. ; NoeDef.mod: Declaration of Nuclear Overhouser Enhancement
  561. ; subroutine
  562. ; call
  563. ; subr Noe()
  564. ;
  565. ;****************************************************************
  566. if(PVM_NoeOnOff == On)
  567. {
  568. define delay NoeD0 = {$PVM_NoeD0}
  569. define delay NoeD1 = {$PVM_NoeD1}
  570. }
  571. subroutine Noe
  572. # 72 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  573. ;**** Evolution ****
  574. # 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/EvolutionDef.mod" 1
  575. ;****************************************************************
  576. ;
  577. ; Copyright (c) 1998-2003
  578. ; Bruker BioSpin MRI GmbH
  579. ; D-76275 Ettlingen, Germany
  580. ;
  581. ; All Rights Reserved
  582. ;
  583. ; EvolutionDef.mod - Evolution Module
  584. ;
  585. ;****************************************************************
  586. if (PVM_EvolutionOnOff == On)
  587. {
  588. define delay evolDel = {$PVM_EvolutionDelay}
  589. define list<delay> evolTime = {$PVM_EvolutionTime}
  590. }
  591. subroutine Evolution
  592. # 76 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
  593. # 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg" 2
  594. # 30 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  595. 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 }
  596. # 35 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  597. grad_zero_for_gs <ACQ_spatial_phase_1, ACQ_spatial_phase_2>
  598. subr FlowSatInit
  599. ;EXEC_begin FlowSatInit FlowSatInit()
  600. # 55 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FlowSatDef.mod"
  601. if(PVM_InFlowSatOnOff == 1)
  602. {
  603. 40u modlis4.res
  604. 10u flowSatGrad.res
  605. }
  606. ;EXEC_end FlowSatInit
  607. # 37 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  608. ;pre-setting the ACQ_spatial_phase_1 counter for the dummy scans:
  609. decr, ACQ_spatial_phase_1.dec
  610. lo to decr times l1 ;DS*ACQ_rare_factor
  611. # 43 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  612. 1u recph ph0
  613. start, 1u ACQ_spatial_phase_1.store
  614. acc, 9u
  615. if(PVM_BlBloodOnOff == On)
  616. {
  617. subr TriggerPhase
  618. ;EXEC_begin TriggerPhase TriggerPhase()
  619. # 45 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
  620. if (PVM_TriggerMode == per_PhaseStep)
  621. {
  622. ;EXEC_begin Trigger Trigger()
  623. # 23 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
  624. if (PVM_TriggerModule == On)
  625. {
  626. trigDur setnmr3|6
  627. if (CONFIG_instrument_type == Avance_III)
  628. {
  629. trigDur trignl1
  630. trigDur trigpe3
  631. }
  632. else
  633. {
  634. trigDur
  635. trigDur trigpl1
  636. }
  637. trigDur setnmr3^6
  638. trigDel
  639. }
  640. ;EXEC_end Trigger
  641. }
  642. ;EXEC_end TriggerPhase
  643. # 50 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  644. }
  645. subr BlBlood
  646. ;EXEC_begin BlBlood BlBlood(phase ph0)
  647. # 30 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/BlBloodDef.mod"
  648. if(PVM_BlBloodOnOff)
  649. {
  650. 10u modlis8:f1
  651. 10u
  652. BlbD3 gatepulse 1
  653. (BlbP0:sp46 ph0):f1
  654. BlbD2 modlis8.inc grad_ramp{0, 0, PVM_BlbGrad}
  655. 10u
  656. 10u modlis8:f1
  657. 10u
  658. BlbD3 gatepulse 1
  659. (BlbP0:sp46 ph0):f1
  660. BlbD2 grad_off
  661. BlbD1 modlis8.inc grad_ramp{0, 0, PVM_BlBloodSpoilAmp}
  662. BlbD0 grad_off
  663. }
  664. ;EXEC_end BlBlood
  665. # 52 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  666. subr TriggerPhase
  667. ;EXEC_begin TriggerPhase TriggerPhase()
  668. # 45 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
  669. if (PVM_TriggerMode == per_PhaseStep)
  670. {
  671. ;EXEC_begin Trigger Trigger()
  672. # 23 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
  673. if (PVM_TriggerModule == On)
  674. {
  675. trigDur setnmr3|6
  676. if (CONFIG_instrument_type == Avance_III)
  677. {
  678. trigDur trignl1
  679. trigDur trigpe3
  680. }
  681. else
  682. {
  683. trigDur
  684. trigDur trigpl1
  685. }
  686. trigDur setnmr3^6
  687. trigDel
  688. }
  689. ;EXEC_end Trigger
  690. }
  691. ;EXEC_end TriggerPhase
  692. # 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  693. subr SliceSelIr
  694. ;EXEC_begin SliceSelIr SliceSelIr()
  695. # 32 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SelSliceIrDef.mod"
  696. if(PVM_SelIrOnOff == On)
  697. {
  698. 50u IrFL.res
  699. irloop19, 10u IrFL :f1
  700. IrD4 grad_ramp{0, 0, PVM_SelIrGradAmp*100}
  701. IrD3 gatepulse 1
  702. (IrP0:sp42 ph0):f1
  703. IrD4 grad_off
  704. IrD0 grad_matrix.inc IrFL.inc
  705. lo to irloop19 times IrL0
  706. IrD2 grad_ramp{0, 0, PVM_SelIrSpoilAmp}
  707. IrD4 grad_off IrFL.res
  708. IrD1 grad_matrix.res
  709. }
  710. ;EXEC_end SliceSelIr
  711. # 54 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  712. slice, 10u fq8(receive):f1
  713. 20u reload B0
  714. # 59 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  715. ;----------------------------------preparation modules -------------
  716. subr TriggerSlice
  717. ;EXEC_begin TriggerSlice TriggerSlice()
  718. # 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
  719. if (PVM_TriggerMode == per_Slice)
  720. {
  721. ;EXEC_begin Trigger Trigger()
  722. # 23 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
  723. if (PVM_TriggerModule == On)
  724. {
  725. trigDur setnmr3|6
  726. if (CONFIG_instrument_type == Avance_III)
  727. {
  728. trigDur trignl1
  729. trigDur trigpe3
  730. }
  731. else
  732. {
  733. trigDur
  734. trigDur trigpl1
  735. }
  736. trigDur setnmr3^6
  737. trigDel
  738. }
  739. ;EXEC_end Trigger
  740. }
  741. ;EXEC_end TriggerSlice
  742. # 60 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  743. subr FlowSat
  744. ;EXEC_begin FlowSat FlowSat()
  745. # 32 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FlowSatDef.mod"
  746. if(PVM_InFlowSatOnOff == 1)
  747. {
  748. flow120, SfD0 modlis4:f1 grad_ramp{0, 0, flowSatGrad*100}
  749. SfD1 gatepulse 1
  750. (SfP0:sp44):f1
  751. SfD2 grad_ramp{0, 0, PVM_InFlowSatSpoilGrad}
  752. SfD0 grad_off
  753. }
  754. ;EXEC_end FlowSat
  755. # 61 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  756. subr Tagging
  757. ;EXEC_begin Tagging Tagging()
  758. # 32 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TagDef.mod"
  759. if(PVM_TaggingOnOff)
  760. {
  761. 1u taggfreq.res
  762. if(PVM_TaggingMode == DANTE)
  763. {
  764. 10u taggfreq:f1
  765. TaggD4 grad_ramp{PVM_TaggingGradAmp1, PVM_TaggingGradAmp2,0}
  766. TaggD5 gatepulse 1
  767. (TaggP0:sp45):f1
  768. tag121,TaggD2
  769. (TaggP0:sp45):f1
  770. lo to tag121 times TaggL0
  771. TaggD4 grad_off
  772. if(PVM_TaggingDir == Tagging_grid)
  773. {
  774. TaggD1
  775. taggfreq.inc
  776. 10u taggfreq:f1
  777. TaggD4 grad_ramp{PVM_TaggingGradAmp3,PVM_TaggingGradAmp4,0}
  778. (TaggP0:sp45):f1
  779. tag222,TaggD2
  780. (TaggP0:sp45):f1
  781. lo to tag222 times TaggL0
  782. TaggD4 grad_off
  783. }
  784. }
  785. if(PVM_TaggingMode == SPAMM)
  786. {
  787. 10u taggfreq:f1
  788. TaggD5 gatepulse 1
  789. (TaggP0:sp45):f1
  790. tag323,TaggD2 grad_ramp{PVM_TaggingGradAmp1,PVM_TaggingGradAmp2,0}
  791. TaggD4 grad_off
  792. (TaggP0:sp45):f1
  793. lo to tag323 times TaggL0
  794. if(PVM_TaggingDir == Tagging_grid)
  795. {
  796. taggfreq.inc
  797. 10u taggfreq:f1
  798. (TaggP0:sp45):f1
  799. tag424,TaggD2 grad_ramp{PVM_TaggingGradAmp3,PVM_TaggingGradAmp4,0}
  800. TaggD4 grad_off
  801. (TaggP0:sp45):f1
  802. lo to tag424 times TaggL0
  803. }
  804. }
  805. 10u
  806. TaggD3 grad_ramp{PVM_TaggingSpoilAmp,0,0}
  807. TaggD4 grad_off
  808. TaggD0
  809. }
  810. ;EXEC_end Tagging
  811. # 62 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  812. subr FovSat
  813. ;EXEC_begin FovSat FovSat()
  814. # 34 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod"
  815. if (PVM_FovSatOnOff == On)
  816. {
  817. PVM_FovSatGrad.res
  818. fovSatList.res
  819. fov25, fovSatRamp grad_ramp<object_coord>{PVM_FovSatGrad[]}
  820. fovSatAmp fovSatList:f1 gatepulse 1
  821. (fovSatPul :sp41):f1
  822. fovSatSpoil fovSatList.inc grad_ramp{0, 0, PVM_FovSatSpoilAmp}
  823. PVM_FovSatGrad.inc
  824. lo to fov25 times PVM_FovSatNSlices
  825. fovSatRamp grad_off
  826. fovSatGrad
  827. }
  828. ;EXEC_end FovSat
  829. # 63 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  830. subr MagTrans
  831. ;EXEC_begin MagTrans MagTrans()
  832. # 33 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MagTransDef.mod"
  833. if(PVM_MagTransOnOff)
  834. {
  835. 50u modlis3.res
  836. MtD1
  837. mtc26,MtD2 modlis3:f1 gatepulse 1
  838. MtP0:sp43:f1
  839. lo to mtc26 times MtLp0
  840. MtD3 grad_ramp{0, 0, PVM_MagTransSpoiler}
  841. MtD0 groff
  842. 100u
  843. }
  844. ;EXEC_end MagTrans
  845. # 64 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  846. subr FatSup
  847. ;EXEC_begin FatSup FatSup()
  848. # 32 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FatSupDef.mod"
  849. if (PVM_FatSupPerform == Yes)
  850. {
  851. fatSupAmp fatSupList:f1 gatepulse 1
  852. (fatSupPul :sp40):f1
  853. fatSupSpoil grad_shape {0, 0, PVM_FatSupSpoilAmp}
  854. fatSupRamp grad_off
  855. fatSupGrad
  856. }
  857. ;EXEC_end FatSup
  858. # 65 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  859. ;---------------------------------- excitation ---------------------
  860. d9 grad_ramp{g1, 0, g1} ;TR spoiler
  861. d3 grad_ramp{0, 0, g0} fq1:f1 ;slice on
  862. d8 gatepulse 1
  863. (p0:sp0 ph0):f1 ;exc pulse
  864. # 74 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  865. d2 grad_ramp{g2, 0, g7} ;read deph
  866. d1 grad_off ;TE-fill 1
  867. ;---------------------------------- refocusing ---------------------
  868. # 80 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  869. echo1, 0u ACQ_spatial_phase_1.restore
  870. echo, d3 grad_ramp{0, 0, g0} gatepulse 1 ;slice on
  871. (p1:sp1 ph1):f1 ;pi-pulse
  872. d5 grad_ramp{g8, ACQ_spatial_phase_1*g4, g3-ACQ_spatial_phase_2*g6} ;enc+slice-reph
  873. d6 grad_off ;TE-fill 2a
  874. # 88 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  875. denab grad_ramp{g5, 0, 0} ;read-on + acq
  876. rdepa \n deparx adc syrec fqatofqb:f1 \n derxadc ph1:r \n deadc
  877. aqq cpdngs17:f1
  878. d6 grad_off ;TE-fill 2b
  879. d5m40u grad_ramp{g8, -ACQ_spatial_phase_1*g4, g3+ACQ_spatial_phase_2*g6} ;enc+slice-reph2
  880. 1u ACQ_spatial_phase_1.inc
  881. 39u eoscnp
  882. lo to echo times NECHOES/PVM_NEchoImages
  883. lo to echo1 times PVM_NEchoImages
  884. # 100 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  885. ;--------------------------------- flipback ------------------------
  886. if( PVM_FlipBackOnOff == On)
  887. {
  888. d3 grad_ramp{0, 0, g0} gatepulse 1 ;slice on
  889. (p1:sp1 ph1):f1 ;pi-pulse
  890. d1 grad_off
  891. d2 grad_ramp{g2, 0, 0} ;read-dephase
  892. d3 grad_ramp{0, 0, g0} gatepulse 1 ;slice on
  893. (p0:sp0 ph3):f1 ;flipback
  894. }
  895. d3 grad_off
  896. ;----------------------------------slice loop-----------------------
  897. grad_matrix.inc
  898. d0
  899. subr FlowSatInc
  900. ;EXEC_begin FlowSatInc FlowSatInc()
  901. # 45 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FlowSatDef.mod"
  902. if(PVM_InFlowSatOnOff == 1)
  903. {
  904. 5u modlis4.inc
  905. }
  906. ;EXEC_end FlowSatInc
  907. # 116 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  908. lo to slice times NSLICES
  909. d10
  910. 1.5u ipp0
  911. 1u recph ph0
  912. 2.5u ipp3
  913. ;----------------------------------averaging loop-------------------
  914. lo to acc times NA
  915. 1.5u rpp0
  916. 1u recph ph0
  917. 2.5u rpp3
  918. ;----------------------------------2d loop--------------------------
  919. if( ACQ_dim >= 2 )
  920. {
  921. "lc1 = lc1 - 1" ; this makes
  922. if "lc1>=0" goto start ; dummy scans
  923. # 133 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  924. lo to start times l2 ;ACQ_size[1]/ACQ_rare_factor
  925. }
  926. ;----------------------------------3d loop--------------------------
  927. if( ACQ_dim >= 3 )
  928. {
  929. ACQ_spatial_phase_2.inc
  930. lo to start times ACQ_size[2]
  931. }
  932. 5u
  933. lo to start times NAE
  934. 5u
  935. subr Evolution
  936. ;EXEC_begin Evolution Evolution()
  937. # 19 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/EvolutionDef.mod"
  938. if (PVM_EvolutionOnOff == On)
  939. {
  940. if (PVM_EvolutionMode == Variable_Delay)
  941. {
  942. evolTime
  943. evolTime.inc
  944. }
  945. else
  946. {
  947. evolDel
  948. }
  949. }
  950. ;EXEC_end Evolution
  951. # 144 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/RARE.ppg"
  952. 5u
  953. lo to start times NR
  954. if (ACQ_scan_type != Scan_Experiment) \n{ \n goto start \n}
  955. exit
  956. ph0 = 0 2
  957. ph1 = 1
  958. ph3 = 2 0