/data/23/pulseprogram
http://ne-proj.googlecode.com/ · #! · 2786 lines · 1299 code · 1487 blank · 0 comment · 0 complexity · 02214bc6f3a9c2b14b9378b85be4ec3b MD5 · raw file
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg"
- ;****************************************************************
- ;
- ; Copyright (c) 2001-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; $Id: DtiEpi.ppg,v 1.8.2.4 2007/07/13 09:05:22 fhen Exp $
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/MRI.include" 1
- ;****************************************************************
- ;
- ; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/MRI.include,v $
- ;
- ; Copyright (c) 2006
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ;;****************************************************************
- ;MRI.include
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/Avance.incl" 1
- ;Avance2.incl
- ; for 1
- ;
- ;avance-version (07/01/22)
- ;
- ;$CLASS=HighRes Incl
- ;$COMMENT=
- ;$Id: Avance2.incl,v 1.14.2.6 2008/04/03 08:54:39 mah Exp $
- # 14 "/opt/PV5.0/exp/stan/nmr/lists/pp/MRI.include" 2
- define delay aqq
- define delay deparx
- define delay derxadc
- define delay rdepa
- "aqq=dw*td"
- "rdepa=de-depa"
- "deparx=depa-derx"
- "derxadc=derx-deadc"
- # 86 "/opt/PV5.0/exp/stan/nmr/lists/pp/MRI.include"
- # 11 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- preset off
- ;counter of dummy scans (not acquired; DS set to 0)
- define loopcounter lcDs
- "lcDs = l1"
- # 1 "/opt/PV5.0/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.14.2.1 2007/07/02 13:05:36 mawi Exp $
- ;
- ; All Rights Reserved
- ;
- ; Declaration of pulseprogram parameters and subroutines for
- ; preparation modules
- ;
- ;****************************************************************
- ;**** Fat Suppression Module ****
- # 1 "/opt/PV5.0/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.1.2.2 2007/07/02 14:26:25 mawi Exp $
- ;
- ; All Rights Reserved
- ;
- ; FatSupDef.mod : Declaration of Fat Suppression Subroutine
- ;
- ;****************************************************************
- if(PVM_FatSupOnOff)
- {
- define list<frequency> modlis6 = {$PVM_FatSupFL}
- define delay FsD0 = {$PVM_FsD0}
- define delay FsD1 = {$PVM_FsD1}
- define delay FsD2 = {$PVM_FsD2}
- define pulse FsP0 = {$PVM_FsP0}
- }
- # 18 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Flow Saturation Module ****
- # 1 "/opt/PV5.0/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.1.4.2 2007/07/02 13:26:58 mawi 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 delay SfD0 = {$PVM_SfD0}
- define delay SfD1 = {$PVM_SfD1}
- define delay SfD2 = {$PVM_SfD2}
- define pulse SfP0 = {$PVM_SfP0}
- define loopcounter SfLp0 = {$PVM_SfLp0}
- }
- # 22 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Inversion Pulse Module ****
- # 1 "/opt/PV5.0/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.1.2.2 2007/07/02 14:26:25 mawi 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}
- }
- # 25 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Magnetisation Transfer Module ****
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/MagTransDef.mod" 1
- ;****************************************************************
- ; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/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.1.2.3 2008/06/05 17:10:28 mawi 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}
- define pulse MtP0 = {$PVM_MtP0}
- define loopcounter MtLp0 = {$PVM_MtLp0}
- }
- # 29 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Saturation Pulse Module ****
- # 1 "/opt/PV5.0/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.1.2.2 2007/07/02 14:26:25 mawi 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}
- }
- # 34 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;*** Saturation Slices Module ***
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/SatSliceDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2002-2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: SatSliceDef.mod,v 1.2.2.1 2007/07/02 13:01:13 mawi Exp $
- ;
- ; All Rights Reserved
- ;
- ; SatSlices.mod : Declaration of Saturation Slice subroutine
- ; call
- ; subr SatSlices()
- ;
- ;****************************************************************
- ;
- ; SaturationSlicesPulse :
- ;
- ; sp25 DPQQ[9].name : PVM_SatSlicesPulse.Filename
- ; PVM_SatP0 : PVM_SatSlicesPulse.Length
- ;
- ;
- ; PVM_SatD1 : CONFIG_amplifier_enable
- ; PVM_SatD0 : PVM_RampTime
- ; PVM_SatD2 : PVM_FovSatSpoilTime
- ; PVM_SatLp0 : PVM_FovSatNSlices
- ;
- ;**** Saturation Slice Module ****
- if(PVM_FovSatOnOff == 1)
- {
- define list<frequency> modlis5 = {$PVM_FovSatFL}
- define delay SatD0 = {$PVM_SatD0}
- define delay SatD1 = {$PVM_SatD1}
- define delay SatD2 = {$PVM_SatD2}
- define pulse SatP0 = {$PVM_SatP0}
- define loopcounter SatLp0 = {$PVM_SatLp0}
- }
-
- # 39 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Black Blood Module ****
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/BlBloodDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: BlBloodDef.mod,v 1.1.2.2 2007/07/02 14:26:25 mawi 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}
- }
- # 43 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Trigger Module ****
- define delay TrigD0 = {$PVM_TrigD0}
- ;**** Trigger Out Module ****
- define delay TrigOutD0 = {$PVM_TrigOutD0}
- ;**** OuterVolumeSuppression **** Solvent Suppression Module ****
- # 1 "/opt/PV5.0/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.1.2.3 2008/03/19 14:25:28 sako 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}
- }
- ;*** 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}
- }
- # 53 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;**** Solvent Suppression module and FOV Saturation module ******
- # 1 "/opt/PV5.0/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.1.2.2 2007/07/02 14:26:26 mawi 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)
- ;
- ;*******************************************************************
- # 57 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;*********** selective inversion recovery **********
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/SelSliceIrDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: SelSliceIrDef.mod,v 1.1.2.2 2007/07/02 14:26:25 mawi 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}
- define pulse IrP0 = {$PVM_SelIrP0}
- define loopcounter IrL0 = {$PVM_SelIrL0}
- }
- # 61 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;***********Tagging*****************
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/TagDef.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: TagDef.mod,v 1.1.2.4 2008/06/05 17:09:32 mawi 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}
- define pulse TaggP0 = {$PVM_TaggingP0}
- define loopcounter TaggL0 = {$PVM_TaggingLp0}
- }
- # 65 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- ;*********** Noe *******************
- # 1 "/opt/PV5.0/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.2.2 2007/07/02 14:26:26 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}
- }
- # 69 "/opt/PV5.0/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2
- define loopcounter EvolLp0 = {$PVM_EvolLp0}
- define list<delay> EvolD0 = {$PVM_EvolD0}
- # 21 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- ; #include <DwiHead.mod>
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDwiHead.mod" 1
- ;*************************************************************************
- ; Copyright (c) 2002 - 2007
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; $Id: DwiHead.mod,v 1.4.2.1 2007/07/02 13:22:13 mawi Exp $
- ;
- ; All Rights Reserved
- ;
- ; DwiHead.mod: Declaration of pulseprogram subroutines
- ; for Stejscal Tanner Spinecho and Stimulated echo
- ; preparation
- ;
- ; call
- ; subr DwiPrep(ph1) : diffusion prepartion with RF phaselist 1
- ; subr DwiLoop(Diffl): loop part of diffusion preparation, loops
- ; to label Diffl (as passed as argument)
- ;
- ;*************************************************************************
- define list<frequency> DwFl0 = {$PVM_DwFlist0}
- define delay DwD0 = {$PVM_DwD0}
- define delay DwD1 = {$PVM_DwD1}
- define delay DwD2 = {$PVM_DwD2}
- define delay DwD3 = {$PVM_DwD3}
- define delay DwD4 = {$PVM_DwD4}
- define delay DwD5 = {$PVM_DwD5}
- define delay DwD6 = {$PVM_DwD6}
- define delay DwD7 = {$PVM_DwD7}
- define delay DwD8 = {$PVM_DwD8}
- define delay DwD9 = {$PVM_DwD9}
- define delay DwD10 = {$PVM_DwD10}
- define delay DwD11 = {$PVM_DwD11}
- define delay DwD12 = {$PVM_DwD12}
- define delay DwD13 = {$PVM_DwD13}
- define delay DwD14 = {$PVM_DwD14}
- define delay DwD15 = {$PVM_DwD15}
- define delay DwD16 = {$PVM_DwD16}
- define delay DwD17 = {$PVM_DwD17}
- define delay DwD18 = {$PVM_DwD18}
- define delay DwD19 = {$PVM_DwD19}
- define pulse DwP0 = {$PVM_DwP0}
- define pulse DwP1 = {$PVM_DwP1}
- ; #define DwGSP1 grad{PVM_DwSpDir((PVM_TeDwSliceSpoilGrad),direct_scale)|(0)|(0)}
- ; #define Dwfull DiffusionPrepGrad
- ; #define DwGfull grad{(0)|(0)|(Dwfull,no_scale)}
- lgrad PVM_DwGradRead = PVM_DwNDiffExp
- lgrad PVM_DwGradPhase = PVM_DwNDiffExp
- lgrad PVM_DwGradSlice = PVM_DwNDiffExp
- lgrad PVM_DwGradVec = PVM_DwNDiffExp
- lgrad PVM_DwSpDir = PVM_DwNDiffExp
- define loopcounter DwExp = {$PVM_DwNDiffExp}
- ; spinecho stejscal tanner preparation
- ; =======================================
- ; spinecho stejscal tanner for diffusion prep.
- ; ===============================================
- ; stimulated echo stejscal tanner preparation
- ; ==============================================
- ; stimulated echo stejscal tanner for diffusion prep
- ; ======================================================
- ;
- ; Diffusion Preparation module
- ; =======================================
- ;
- ; Diffusion Preparation module for diffusion prep
- ; =====================================================
- ; Loop part of DTI module
- # 23 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/epiHead.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ; $Id: epiHead.mod,v 1.7.2.2 2007/07/12 15:08:50 fhen Exp $
- ; 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}
- lgrad PVM_EpiInterleavingFunction<2d> = PVM_EpiNShots
- define delay Epi10u_de
- "Epi10u_de = 10u - de"
- define list<delay> EpiVd = {$PVM_EpiVdList}
- # 24 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- lgrad slice = NSLICES
- fq1b receive \n if (CONFIG_instrument_type != Avance_I) \n { \n dccorr \n } \n if (CONFIG_preemp_type == GREAT_60) \n { \n if (CONFIG_instrument_type != Avance_III) \n { \n 500m setnmr0|34|33|32 \n } \n else \n { \n 200u setnmr0|34|33|32 \n } \n } \n if (CONFIG_preemp_type == DPP_with_SW_Blanking) \n { \n 10u ctrlgrad 0 \n 10u grad{(0)|(0)|(0) } \n 200u setnmr0|34|33|32 \n }
- zgrad PVM_EpiInterleavingFunction
- zslice
- DiffL, 4u
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/TriggerPerPhaseStep.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 1998-2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; TriggerPerPhaseStep.mod - Trigger Module
- ;
- ;****************************************************************
- ;
- ; PVM_TrigD0 --> PVM_EcgTriggerModuleTime = ACQ_trigger_delay
- ;
- if (PVM_TriggerMode == per_PhaseStep)
- {
- if (ACQ_trigger_enable == 1)
- {
- 10u setnmr3|6
- if (CONFIG_instrument_type == Avance_III)
- {
- 10u trignl1
- 10u trigpe3
- }
- else
- {
- 10u trigpl1
- }
- 10u setnmr3^6
- TrigD0
- }
- }
- # 38 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- slice, 10u fq8b:f1
- # 1 "/opt/PV5.0/exp/stan/nmr/lists/pp/TriggerPerSlice.mod" 1
- ;****************************************************************
- ;
- ; Copyright (c) 1998-2003
- ; Bruker BioSpin MRI GmbH
- ; D-76275 Ettlingen, Germany
- ;
- ; All Rights Reserved
- ;
- ; TriggerPerSlice.mod - Trigger Module
- ;
- ;****************************************************************
- ;
- ; PVM_TrigD0 --> PVM_EcgTriggerModuleTime = ACQ_trigger_delay
- ;
- if (PVM_TriggerMode == per_Slice)
- {
- if (ACQ_trigger_enable == 1)
- {
- 10u setnmr3|6
- if (CONFIG_instrument_type == Avance_III)
- {
- 10u trignl1
- 10u trigpe3
- }
- else
- {
- 10u trigpl1
- }
- 10u setnmr3^6
- TrigD0
- }
- }
- # 40 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- ;EXEC_begin SatSlices line 2047 (41) SatSlices()
-
- if(PVM_FovSatOnOff == 1)
- {
- lgrad PVM_FovSatGrad = PVM_FovSatNSlices
- lgrad PVM_FovSatSpoiler = 1
- zgrad PVM_FovSatGrad
- zgrad PVM_FovSatSpoiler
- 50u modlis5.res
- fov9, SatD0 modlis5:f1 grad{PVM_FovSatGrad(100,,direct_scale)|(0)|(0)}
- SatD1 gatepulse 1
- SatP0:sp25
- SatD2 modlis5.inc grad{(0)|(0)|PVM_FovSatSpoiler(100,,no_scale)}
- igrad PVM_FovSatGrad
- lo to fov9 times SatLp0
- SatD0 grad{(0)|(0)|(0)}
- 20u
- }
-
- ;EXEC_end SatSlices line 2047 (41) SatSlices()
- ;EXEC_begin FatSup line 2048 (42) FatSup()
-
- if(PVM_FatSupOnOff)
- {
- lgrad PVM_FatSupSpoiler = 1
- 10u zgrad PVM_FatSupSpoiler
- 40u modlis6:f1
- 1m gatepulse 1
- FsP0:sp26
- FsD2 grad{(0)|(0)|PVM_FatSupSpoiler(100,,no_scale)}
- FsD0 groff
- 50u
- }
-
- ;EXEC_end FatSup line 2048 (42) FatSup()
- ;----------------------------------slice selection------------------
- d1 grad{(0)|(0)|(t0)} fq1:f1 gatepulse 1
- p0:sp0 ph0
- d4 groff
- ;----------------------------------slice rephase--------------------
- d2 grad{(0)|(0)|(t1)}
- d3 groff
- ; subr DwiPrep(ph1)
- ; subr DwiPrep1(ph1)
- ; subr DwiPrep(ph1)
- ;EXEC_begin DwiPrep1 line 2060 (54) DwiPrep1(phase ph2)
-
- if(PVM_DiffPrepMode == 0)
- {
- if(DiffusionPrepYesNo == Yes)
- {
- ;EXEC_begin DwSe1 line 1871 (0) DwSe1(phase ph2)
-
- DwD0 groff
- if(PVM_DwDirectScale == Yes)
- {
- DwD5 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- if (DiffusionPrepGradPol == Negative)
- {
- DwD5 grad{PVM_DwGradRead(-100,no_scale)|PVM_DwGradPhase(-100,no_scale)|PVM_DwGradSlice(-100,no_scale)}
- }
- if (DiffusionPrepGradPol == Positive)
- {
- DwD5 grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
- }
- }
- ; DwD6 groff
- DwD7 groff
- ;DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD3 grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1
- DwP0:sp23 ph2
- DwD4
- ; DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- ; DwD2 grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
- ; DwD7 groff
- DwD6 groff
- if(PVM_DwDirectScale == Yes)
- {
- DwD5 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- if (DiffusionPrepGradPol == Negative)
- {
- DwD5 grad{PVM_DwGradRead(-100,no_scale)|PVM_DwGradPhase(-100,no_scale)|PVM_DwGradSlice(-100,no_scale)}
- }
- if (DiffusionPrepGradPol == Positive)
- {
- DwD5 grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
- }
- }
- if (DiffusionPrepYesNo == Yes)
- {
- d9 groff
- }
-
- ;EXEC_end DwSe1 line 1871 (0) DwSe1(phase ph2)
- }
- }
- if(PVM_DiffPrepMode == 1)
- {
- if(DiffusionPrepYesNo == Yes)
- {
- ;EXEC_begin DwSte1 line 1878 (0) DwSte1(phase ph2)
-
- DwD0 groff
- if(PVM_DwDirectScale == Yes)
- {
- DwD9 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- ; DwD9 grad{(0)|(0)|(DiffusionPrepGrad,no_scale)}
- DwD9 grad{(DiffusionPrepGrad*DiffusionPrepVec[0],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[1],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[2],no_scale)}
- }
- ; DwD6 groff
- DwD8 groff
- ; DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD3 grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1
- DwP0:sp23 ph2
- DwD7
- ; DwD4 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD4 grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD4 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD5 groff
- DwD3 grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} gatepulse 1
- DwP0:sp23 ph2
- DwD7
- ; DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler1Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- ; DwD8 groff
- DwD6 groff
- if(PVM_DwDirectScale == Yes)
- {
- DwD9 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- ; DwD9 grad{(0)|(0)|(DiffusionPrepGrad,no_scale)}
- DwD9 grad{(DiffusionPrepGrad*DiffusionPrepVec[0],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[1],no_scale)|(DiffusionPrepGrad*DiffusionPrepVec[2],no_scale)}
- }
- if (DiffusionPrepYesNo == Yes)
- {
- d9 groff
- }
-
- ;EXEC_end DwSte1 line 1878 (0) DwSte1(phase ph2)
- }
- }
-
- ;EXEC_end DwiPrep1 line 2060 (54) DwiPrep1(phase ph2)
- ;EXEC_begin DwiPrep line 2061 (55) DwiPrep(phase ph1)
-
- if(PVM_DiffPrepMode == 0)
- {
- ;EXEC_begin DwSe line 1853 (0) DwSe(phase ph1)
-
- if (DiffusionPrepYesNo == No)
- {
- DwD0 groff
- }
- if(PVM_DwDirectScale == Yes)
- {
- DwD5 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- DwD5 grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
- }
- DwD6 groff
- ; DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (DiffusionPrepYesNo == Yes)
- {
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD3 grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1
- DwP0:sp23 ph1
- DwD4
- ; DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (DiffusionPrepYesNo == Yes)
- {
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD7 groff
- if(PVM_DwDirectScale == Yes)
- {
- DwD5 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- DwD5 grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
- }
- DwD1 groff
-
- ;EXEC_end DwSe line 1853 (0) DwSe(phase ph1)
- }
- if(PVM_DiffPrepMode == 1)
- {
- ;EXEC_begin DwSte line 1857 (0) DwSte(phase ph1)
-
- if (DiffusionPrepYesNo == No)
- {
- DwD0 groff
- }
- if(PVM_DwDirectScale == Yes)
- {
- DwD9 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- DwD9 grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
- }
- DwD6 groff
- ; DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (DiffusionPrepYesNo == Yes)
- {
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD3 grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} DwFl0:f1 gatepulse 1
- DwP0:sp23 ph1
- DwD7
- ; DwD4 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (DiffusionPrepYesNo == Yes)
- {
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD4 grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD4 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
- }
- else
- {
- DwD4 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD5 groff
- DwD3 grad{(0)|(0)|(PVM_DwSliceGrad,no_scale)} gatepulse 1
- DwP0:sp23 ph1
- DwD7
- ; DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
-
- if (DiffusionPrepYesNo == Yes)
- {
- if (ControlDiffSpoilerYesNo == Yes)
- {
- DwD2 grad{PVM_DwSpDir((DiffusionSpoiler2Grad),direct_scale)|(0)|(0)}
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
- }
- else
- {
- DwD2 grad{PVM_DwSpDir((30),direct_scale)|(0)|(0)}
- }
-
- DwD8 groff
- if(PVM_DwDirectScale == Yes)
- {
- DwD9 grad{PVM_DwGradVec(100,direct_scale)|(0)|(0)}
- }
- else
- {
- DwD9 grad{PVM_DwGradRead(100,no_scale)|PVM_DwGradPhase(100,no_scale)|PVM_DwGradSlice(100,no_scale)}
- }
- DwD1 groff
-
- ;EXEC_end DwSte line 1857 (0) DwSte(phase ph1)
- }
-
- ;EXEC_end DwiPrep line 2061 (55) DwiPrep(phase ph1)
- if "lcDs > 0" goto acqDs
- # 1 "/opt/PV5.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
- ;
- ;****************************************************************
- ;-------- version with shaped gradients:
- if(PVM_EpiRampMode != SystemRamp)
- {
- ;5u fqatofqb:f1
- rdepa \n deparx adc ph0 setrtp1|2 syrec \n derxadc ph1:r setrtp1|1 \n deadc setrtp1|0|8
- Epi10u_de
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 cpdngs30:f1
- }
- 10u gc_control
- {
- EpiD4 grad{EpiShape1(100,EpiShape1Size)| EpiShape3(100,EpiShape3Size) |(0)}
- EpiD5 grad{EpiShape9(100,EpiShape9Size)| EpiShape11(100,EpiShape11Size)*PVM_EpiInterleavingFunction(100)|(0)}
- EpiD11 grad{EpiShape8(100,EpiShape8Size)|(0) |(0)} ;plateau up
- loop PVM_EpiEchoCounter
- {
- EpiD5 grad{EpiShape2(100,EpiShape2Size) |EpiShape4(100,EpiShape4Size) |(0)} ;ramp down
- EpiD11 grad{(0)-EpiShape8(100,EpiShape8Size)|(0) |(0)} ;plateau down
- EpiD5 grad{(0)-EpiShape2(100,EpiShape2Size)|EpiShape7(100,EpiShape7Size) |(0)} ;ramp up
- EpiD11 grad{EpiShape8(100,EpiShape8Size) |(0) |(0)} ;plateau up
- }
- EpiD5 grad{EpiShape10(100,EpiShape10Size)| EpiShape11(100,EpiShape11Size)*PVM_EpiInterleavingFunction(100)|(0)}
- EpiD4 grad{EpiShape5(100,EpiShape5Size)| EpiShape6(100,EpiShape6Size) |(0)}
- }
- EpiD1
-
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
- {
- EpiD2 cpdngs30: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)
- {
- ;5u fqatofqb:f1
- rdepa \n deparx adc ph0 setrtp1|2 syrec \n derxadc ph1:r setrtp1|1 \n deadc setrtp1|0|8
- Epi10u_de
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 cpdngs30:f1
- }
- 10u gc_control
- {
- EpiD7 grad{PVM_EpiReadDephGrad(100)|PVM_EpiPhaseDephGrad(100)+PVM_EpiInterleavingFunction(100*PVM_EpiPhaseEncGrad)|(0)}
- EpiD8 groff
- EpiD9 grad{PVM_EpiReadEvenGrad(100)|(0)|(0)}
- loop PVM_EpiEchoCounter
- {
- EpiD10 grad{(0) |PVM_EpiBlipEvenGrad(100)|(0)}
- EpiD9 grad{PVM_EpiReadOddGrad(100) |(0) |(0)}
- EpiD10 grad{(0) |PVM_EpiBlipOddGrad(100 )|(0)}
- EpiD9 grad{PVM_EpiReadEvenGrad(100)|(0) |(0)}
- }
- EpiD8 groff
- EpiD7 grad{PVM_EpiReadDephGrad(100)|PVM_EpiPhaseDephGrad(100)+PVM_EpiInterleavingFunction(100*PVM_EpiPhaseRewGrad)|(0)}
- groff
- }
- EpiD1
-
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
- {
- EpiD2 cpdngs30:f1
- }
-
- EpiD3
- EpiD0 eoscnp
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd EpiVd.inc
- }
- }
- }
- ;-------- end of version
- # 58 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- goOn, 2.5u
- ;----------------------------------slice loop-----------------------
- 10u islice
- d0 DwFl0.inc
- lo to slice times NSLICES
- 1u zslice
- ;----------------------------------averaging loop-------------------
- d5
- "lcDs = lcDs - 1"
- if "lcDs >= 0" goto DiffL ;dummy scans
- 1u ipp0
- 1u ipp1
- 1u ipp2
- lo to DiffL times NA
- ;----------------------------------2d loop--------------------------
- 1u igrad PVM_EpiInterleavingFunction
- lo to DiffL times l0
- 1u zgrad PVM_EpiInterleavingFunction
- ;----------------------------------diffusion loop-------------------
- ;EXEC_begin DwiLoop line 2222 (79) DwiLoop(any DiffL)
-
- if(PVM_DwFlag1 == 0)
- {
- if( ACQ_scan_type == Scan_Experiment)
- {
- 0u igrad PVM_DwSpDir
- 1u igrad PVM_DwGradRead
- 1u igrad PVM_DwGradPhase
- 1u igrad PVM_DwGradSlice
- 1u igrad PVM_DwGradVec
- }
- else
- {
- 0u zgrad PVM_DwSpDir
- 1u zgrad PVM_DwGradRead
- 1u zgrad PVM_DwGradPhase
- 1u zgrad PVM_DwGradSlice
- 1u zgrad PVM_DwGradVec
- }
- }
- else
- {
- 0u igrad PVM_DwSpDir
- 1u igrad PVM_DwGradRead
- 1u igrad PVM_DwGradPhase
- 1u igrad PVM_DwGradSlice
- 1u igrad PVM_DwGradVec
- }
- lo to DiffL times DwExp
- 0u zgrad PVM_DwSpDir
- 1u zgrad PVM_DwGradRead
- 1u zgrad PVM_DwGradPhase
- 1u zgrad PVM_DwGradSlice
- 1u zgrad PVM_DwGradVec
-
- ;EXEC_end DwiLoop line 2222 (79) DwiLoop(any DiffL)
- ;----------------------------------repetitions loop-----------------
- lo to DiffL times PVM_NRepetitions
- if (ACQ_scan_type != Scan_Experiment) \n{ \n goto DiffL \n}
- goto bye
-
- ; ---- empty acquisition for dummy scans
- acqDs, 1u
- # 1 "/opt/PV5.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)
- ;
- ;****************************************************************
- ;-------- version with shaped gradients:
- if(PVM_EpiRampMode != SystemRamp)
- {
- ;5u fqatofqb:f1
- ;rdepa \n deparx adc ph0 setrtp1|2 syrec \n derxadc ph1:r setrtp1|1 \n deadc setrtp1|0|8
- 10u
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd ;EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 ;cpdngs30:f1
- }
- 10u gc_control
- {
- EpiD4 grad{EpiShape1(100,EpiShape1Size)| (0) |(0)}
- EpiD5 grad{EpiShape9(100,EpiShape9Size)| (0) |(0)}
- EpiD11 grad{EpiShape8(100,EpiShape8Size)| (0) |(0)} ;plateau up
- loop PVM_EpiEchoCounter
- {
- EpiD5 grad{EpiShape2(100,EpiShape2Size) |(0) |(0)} ;ramp down
- EpiD11 grad{(0)-EpiShape8(100,EpiShape8Size)|(0) |(0)} ;plateau down
- EpiD5 grad{(0)-EpiShape2(100,EpiShape2Size)|(0) |(0)} ;ramp up
- EpiD11 grad{EpiShape8(100,EpiShape8Size) |(0) |(0)} ;plateau up
- }
- EpiD5 grad{EpiShape10(100,EpiShape10Size)| (0) |(0)}
- EpiD4 grad{EpiShape5(100,EpiShape5Size) | (0) |(0)}
- }
- EpiD1
-
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
- {
- EpiD2 ;cpdngs30: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)
- {
- ;5u fqatofqb:f1
- ;rdepa \n deparx adc ph0 setrtp1|2 syrec \n derxadc ph1:r setrtp1|1 \n deadc setrtp1|0|8
- 10u
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd ;EpiVd.inc
- }
- }
- if (PVM_EpiGradSync == Yes)
- {
- 1u trigpe3
- }
- if(PVM_EpiPrefixNavYes) ;prefix navigator
- {
- EpiD12 ;cpdngs30:f1
- }
- 10u gc_control
- {
- EpiD7 grad{PVM_EpiReadDephGrad(100)|(0)|(0)}
- EpiD8 groff
- EpiD9 grad{PVM_EpiReadEvenGrad(100)|(0)|(0)}
- loop PVM_EpiEchoCounter
- {
- EpiD10 grad{(0) |(0) |(0)}
- EpiD9 grad{PVM_EpiReadOddGrad(100) |(0) |(0)}
- EpiD10 grad{(0) |(0) |(0)}
- EpiD9 grad{PVM_EpiReadEvenGrad(100) |(0) |(0)}
- }
- EpiD8 groff
- EpiD7 grad{PVM_EpiReadDephGrad(100)| (0)|(0)}
- groff
- }
- EpiD1
-
- if(PVM_EpiPrefixNavYes) ;prefix navigator: adc is already running
- {
- EpiD2
- }
- if(!PVM_EpiPrefixNavYes) ;no prefix navigator: start adc now
- {
- EpiD2 ;cpdngs30:f1
- }
-
- EpiD3
- EpiD0 ;eoscnp
- if(PVM_EpiNShots != 1)
- {
- if(PVM_EpiEchoTimeShifting == Yes)
- {
- EpiVd ;EpiVd.inc
- }
- }
- }
- ;-------- end of version
- # 88 "/opt/PV5.0/exp/stan/nmr/lists/pp/comp_DblDtiEpi.ppg" 2
- goto goOn
-
- bye, 1u
- exit
- ph0 = 0 2 0 2
- ph2 = 1 3 3 1
- ph1 = 1 1 1 1
- ; ph0 = 0 0
- ; ph2 = 0 2
- ; ph1 = 0 0
- ; ph0 = 0 2
- ; ph1 = 1