/* 3dslicer 20.12.2017 */ /*****************************************************************/ /* Short Description : */ /* AU program extracts 2D rows from 3D diffusion experiments*/ /* to be used in combination with MAGNATE */ /* 24/05/2017 - The University of Manchester(UK) */ /*****************************************************************/ /* Keywords : */ /* 3D DOSY, 3D processing, 2D plane, RSER2D */ /*****************************************************************/ /* Author(s) : */ /* Name : Guilherme Dal Poggetto */ /* Email : guilherme.dalpoggetto@manchester.ac.uk */ /*****************************************************************/ /* Creates variables */ int pparmod, td1, td2, td3, dd, sd, nexpno ,npoints,fnmod1,fnmod2; char infile[PATH_MAX], statustext[256]; dd=1; sd=23; nexpno=1001; npoints=2; /* Check if is a 3D data */ FETCHPARS("PPARMOD", &pparmod) if (pparmod != 2) STOPMSG("Program is only suitable for 3D data"); /* Get parameters from experiment*/ FETCHPARNS(1, "TD", &td1) FETCHPARNS(2, "TD", &td2) FETCHPARNS(3, "TD", &td3) FETCHPARNS(1,"FnMODE",&fnmod1) FETCHPARNS(2,"FnMODE",&fnmod2) /* Ask user parameters */ GETINT("Enter diffusion dimension, F(1) or F(2): ", dd) GETINT("Enter experiment number (for first increment): ", nexpno) if(dd==1) /* Diffusion in F1 */ { if (fnmod1 != 1) STOPMSG("FnMODE must be QF in diffusion dimension (F1)") npoints=td1; sd=23; } else /* Diffusion in F2 */ { if (fnmod2 != 1) STOPMSG("FnMODE must be QF in diffusion dimension (F2)") npoints=td2; sd=13; } /* Generates a series of 2D experiments */ for(i2=1; i2<=npoints; i2++) { RSER2D(sd,i2,(nexpno-1)+i2) } /* Go to first 2D increment */ REXPNO(nexpno) SETCURDATA VIEWDATA_SAMEWIN /* Perform xfb in all spectra */ XFB TIMES(npoints-1) IEXPNO XFB END QUITMSG("--- 3dslicer finished ---")