!=================================== ! SPINAL DECOUPLING ! BENJAMIN WYLIE !=================================== ! WTF wrote includes file ! 1. Put into Macros. ! 2. Added more "do" loops. ! 3. Changed variable/Macro naming conventions ! 4. Added acq params here.(010906) !=================================== .long extern SPINAL_t1_flag = 1; .phase extern SPINAL_t1_phi = 15.0; .phase extern SPINAL_t1_alp = 15.0; .phase extern SPINAL_t1_bet = 15.0; .ampl extern autofix aH_SPINAL_t1 = 0.75; .time extern pw_SPINAL_t1 = 100us; .time autofix PW_SPINAL_t1 = 100us; .long list super16[] = 1, -1; .long list super32[] = 1, -1,-1, 1; .long list super64[] = 1, -1,-1, 1,-1, 1, 1,-1; .phase list spinal_t1[8]; ch++ ch2; .long list fixed pSPINAL_t1[128]; ch--; !Add to .acq file !pw;SPINAL dcpl pulse;7;u;0.1;1000;2;3;float !SPINAL_t1_phi;SPINAL phi phase;10.0;-;0.0;360.0;2;3;float !SPINAL_t1_alp;SPINAL alpha phase;5.0;-;0.0;360.0;2;3;float !SPINAL_t1_bet;SPINAL beta phase;10.0;-;0.0;360.0;2;3;float !SPINAL_t1_flag;super cycle; 1;-; 1; 4; 0; 3;long !aH_SPINAL_t1;H t1 ampl;0.0;-;0.0;1.0;4;3;float DEFINE SPINAL1_PROG PW_SPINAL_t1 = pw_SPINAL_t1; ch++ ch2; spinal_t1=spinal_t1.start; @spinal_t1++ = SPINAL_t1_phi; @spinal_t1++ = -SPINAL_t1_phi; @spinal_t1++ = (SPINAL_t1_phi + SPINAL_t1_alp); @spinal_t1++ = (-SPINAL_t1_phi - SPINAL_t1_alp); @spinal_t1++ = (SPINAL_t1_phi + SPINAL_t1_bet); @spinal_t1++ = (-SPINAL_t1_phi - SPINAL_t1_bet); @spinal_t1++ = (SPINAL_t1_phi + SPINAL_t1_alp); @spinal_t1++ = (-SPINAL_t1_phi - SPINAL_t1_alp); pSPINAL_t1=pSPINAL_t1.start; super16=super16.start; super32=super32.start; super64=super64.start; spinal_t1=spinal_t1.start; do(16){ spinal_t1=spinal_t1.start; if(SPINAL_t1_flag <= 1){ do(8){@pSPINAL_t1++ = TG | OUTP phase(@spinal_t1++);} } if(SPINAL_t1_flag == 2){ do(8){@pSPINAL_t1++ = TG | OUTP phase((@spinal_t1++ * @super16));} super16++; } if(SPINAL_t1_flag == 3){ do(8){@pSPINAL_t1++ = TG | OUTP phase((@spinal_t1++ * @super32));} super32++; } if(SPINAL_t1_flag == 4){ do(8){@pSPINAL_t1++ = TG | OUTP phase((@spinal_t1++ * @super64));} super64++; } } ch--; ENDDEF DEFINE SPINAL_t1_DEC(aDEC,cycles,xcyclerm) pSPINAL_t1=pSPINAL_t1.start; if(SPINAL_t1_flag == 0){ TPPM_DEC_H(aDEC,cycles,xcyclerm) } if(SPINAL_t1_flag <> 0){ out time(xcyclerm) ch2:TG | aDEC | @pSPINAL_t1++; do(cycles){ out PW_SPINAL_t1 ch2: @pSPINAL_t1++; } } ENDDEF