;ik_REST2_SMOOSY
;
; SMOOSY driven by REST2 encoding (REST2-SMOOSY, as well as CSI-REST2)
; Chemical Shift Imaging (CSI) with T2 relaxation time measurement using REST2
; Pseudo-3D sequence for analyze spatial z-profile of compounds and its T2 relaxation
; Chemical shift [F3]  :  spatial z-profile [F2]  :  relaxation decay [F1]
;
;   Modified: 13/06/19
;   Author: Kengo Ito, Ph.D.
;   Organization: RIKEN CSRS, EMAR
;
;Pulse Program Code for Bruker
;Avance II/III/NEO Version
;Topspin 3.x
;
;
;$CLASS=HighRes
;$DIM=pseudo 3D
;$TYPE=
;$SUBTYPE=
;$COMMENT=


#include <Avance.incl>
#include <Delay.incl>
#include <Grad.incl>


; For Relaxation
define list<loopcounter> cpmg_list=<$VCLIST>

; For CSI
;
; Select the diffusion list (diff2) by deleting the comment out (;)
;
; Gradient list is defined in phlist
; define list<gradient> diff2=<$PHLIST>
;        OR
; Gradient list is defined from 100% to 100% by 16 points
; define list<gradient> diff2 = {1.000 0.867 0.733 0.600 0.467 0.333 0.200 0.067 -0.067 -0.200 -0.333 -0.467 -0.600 -0.733 -0.867 -1.000}
; Gradient list is defined from 100% to -100% by 32 points
; define list<gradient> diff2 = {1.000 0.935 0.871 0.806 0.742 0.677 0.613 0.548 0.484 0.419 0.355 0.290 0.226 0.161 0.097 0.032 -0.032 -0.097 -0.161 -0.226 -0.290 -0.355 -0.419 -0.484 -0.548 -0.613 -0.677 -0.742 -0.806 -0.871 -0.935 -1.000}
; Gradient list is defined from 100% to -100% by 64 points
; define list<gradient> diff2 = {1.000 0.968 0.937 0.905 0.873 0.841 0.810 0.778 0.746 0.714 0.683 0.651 0.619 0.587 0.556 0.524 0.492 0.460 0.429 0.397 0.365 0.333 0.302 0.270 0.238 0.206 0.175 0.143 0.111 0.079 0.048 0.016 -0.016 -0.048 -0.079 -0.111 -0.143 -0.175 -0.206 -0.238 -0.270 -0.302 -0.333 -0.365 -0.397 -0.429 -0.460 -0.492 -0.524 -0.556 -0.587 -0.619 -0.651 -0.683 -0.714 -0.746 -0.778 -0.810 -0.841 -0.873 -0.905 -0.937 -0.968 -1.000}
; Gradient list is defined from 100% to -100% by 128 points
define list<gradient> diff2 = {1.000 0.984 0.969 0.953 0.937 0.921 0.906 0.890 0.874 0.858 0.843 0.827 0.811 0.795 0.780 0.764 0.748 0.732 0.717 0.701 0.685 0.669 0.654 0.638 0.622 0.606 0.591 0.575 0.559 0.543 0.528 0.512 0.496 0.480 0.465 0.449 0.433 0.417 0.402 0.386 0.370 0.354 0.339 0.323 0.307 0.291 0.276 0.260 0.244 0.228 0.213 0.197 0.181 0.165 0.150 0.134 0.118 0.102 0.087 0.071 0.055 0.039 0.024 0.008 -0.008 -0.024 -0.039 -0.055 -0.071 -0.087 -0.102 -0.118 -0.134 -0.150 -0.165 -0.181 -0.197 -0.213 -0.228 -0.244 -0.260 -0.276 -0.291 -0.307 -0.323 -0.339 -0.354 -0.370 -0.386 -0.402 -0.417 -0.433 -0.449 -0.465 -0.480 -0.496 -0.512 -0.528 -0.543 -0.559 -0.575 -0.591 -0.606 -0.622 -0.638 -0.654 -0.669 -0.685 -0.701 -0.717 -0.732 -0.748 -0.764 -0.780 -0.795 -0.811 -0.827 -0.843 -0.858 -0.874 -0.890 -0.906 -0.921 -0.937 -0.953 -0.969 -0.984 -1.000}


"p2=p1*2"
"p5=p6*.667"
"p7=p6*2"

"SCALEF=p7*2/p5"
"FACTOR1=((d9-p17*2)/(p6*64+p5))/SCALEF"
"l1=FACTOR1*SCALEF"

"d3=d2/2"
"d4=d3-4u-p19-d16"
"d11=30m"
"d12=20u"

"d33=5m-p19"

"l12=0"
"l13=0"

"acqt0=-p1*2/3.1416"

"cnst30=0"

baseopt_echo
aqseq 321


1 ze
2 d11 pl0:f1

  "l13=cpmg_list[l12]"

  10u UNBLKGRAD
  (p8:sp6 ph20):f1                  ;saturation
  20u
  (p8:sp6 ph21):f1
  p18:gp8*-1
  d18 BLKGRAD

#ifdef wsup
  50u LOCKH_OFF
  1m fq=cnst29(bf ppm):f1
  d12 pl9:f1
  d1 cw:f1 ph29
  4u do:f1
  1m fq=cnst30:f1
  d12 pl1:f1
  50u LOCKH_ON
  50u UNBLKGRAMP
#else
  50u LOCKH_OFF
  d1 pl1:f1
  50u LOCKH_ON
  50u UNBLKGRAMP
#endif

  p1 ph1
3 d20                              ;PROJECT
  p2 ph2
  d20
  p1 ph3
  d20
  p2 ph2
  d20
  lo to 3 times l13

4 3u
  p16:gp1
  d16 pl0:f1
  p12:sp12:f1 ph4                  ;selective 180r
  3u
  p16:gp1

5 d16 pl10:f1

  (p17 ph26)
                       ;begin MLEV17
6 (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph24 p7 ph25 p6 ph24)
  (p6 ph24 p7 ph25 p6 ph24)
  (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph24 p7 ph25 p6 ph24)
  (p6 ph24 p7 ph25 p6 ph24)
  (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph24 p7 ph25 p6 ph24)
  (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph24 p7 ph25 p6 ph24)
  (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph22 p7 ph23 p6 ph22)
  (p6 ph24 p7 ph25 p6 ph24)
  (p6 ph24 p7 ph25 p6 ph24)
  (p5 ph23)
  lo to 6 times l1 
                       ;end MLEV17
  (p17 ph26):f1 (p17:gp3) 

  4u pl1:f1
  p19:gp4*-1*diff2
  d16
  d4

  p2 ph6
  4u
  p19:gp4*diff2
  d16
  d4 BLKGRAMP

  go=2 ph31
  d11 mc #0 to 2
    F1QF(calclc(l12, 1))
    F2QF(calgrad(diff2))

  50u LOCKH_OFF
exit


ph1=  0 0 0 0 2 2 2 2
ph2=  1
ph3=  1
ph4=  0 1 2 3
ph6=  0
ph20=0
ph21=1
ph22=0
ph23=1
ph24=2
ph25=3
ph26=1
ph29=0
ph31=0 2 0 2 2 0 2 0


;POWER LEVEL
;pl0 : zero power (0W)
;pl1 : power level for pulse (default)
;pl9 : f1 channel - power level for continuous wave pulse
;pl10 : power level for TOCSY-spinlock
;sp6 : f1 channel - shaped pulse for presaturation
;sp12 : power level of refocusing shaped pulse

;PULSE DURATION
;p1 : 90 degree high power pulse
;p2 : 180 degree high power pulse
;p5 : f1 channel -  60 degree low power pulse
;p6 : f1 channel -  90 degree low power pulse
;p7 : f1 channel - 180 degree low power pulse
;p8 : saturation pulse [1-1.5 ms]
;p12 : 180 degree refocusing shaped pulse

;GRADIENT DURATION
;p16 : duration of CTP gradients for selective pulse [1 ms]
;p17 : duration of homospoil z-gradients TOCSY element [2.5 ms]
;p18 : saturation gradient pulse [1 ms]
;p19 : homospoil/gradient pulse, which encodes the signal with respect to position [e.g. 0.2 ms]

;DELAY
;d1 : relaxation delay; [2-10 s]
;d2 : TE, echo time [e.g. 0.5 ms]
;d3 : TE/2
;d4 : =d3-4u-p19-d16
;d9 : TOCSY mixing time [50-200 ms]
;d11 : delay for disk I/O [30 ms]
;d16 : recovery delay for gradients of selective pulse CTP [200 us]
;d18 : recovery delay for saturation gradients [1 ms]
;d20 : fixed echo time to allow elimination of J-mod. effects
; d20 should be << 1/J ,but > (50 * P2) [1-2 ms]
;d33 : p19 < 5ms (5ms - p19)

;LOOP
;l1 : TOCSY cycle
;l12: PROJECT count
;l13: PROJECT cycle

;PULSE SHAPE
;spnam6 : Squa100.1000
;spnam12 : file name for the selective 180 refocusing shaped pulse [RSNOB or REBURP]

;GRADIENT SHAPE
;gpnam1 : SMSQ10.100
;gpnam2 : SMSQ10.100
;gpnam3 : SMSQ10.100
;gpnam4 : RECT.1
;gpnam8 : SMSQ10.100

;GRADIENT STRENGTH
;gpz1 : CTP gradient [23%]
;gpz2 : homospoil z-gradient [31%]
;gpz3 : 40%
;gpz4 : 0-100% [ * list (100% to -100%)]
;gpz8 : saturation gradient [13%]

;CONSTANTS
;cnst29: water chemical shift (in ppm)

;OTHER
;ns: 2 * n, total number of scans: NS * TD0
;ds: 8
;td1: number of cycles in vc-list
;td2: number of CSI experiment in F2 [16-128 pt] = same number of points with diff2 list
;FnMODE: QF in F1
;FnMODE: QF in F2
;zgoptns: -Dwsup (for water suppression)


; Process
;             command: ftnd (F3 and F2), absnd (F3 and F2)
;             pars: WDW (SINE; F3)
;                      PH_mod (mc; F2 and F1)
;                      ABSG (5; F3 and F1, 1; F2)


;$Id: $