/* Nov 2004 renfunc created by Eman Ghobrial */ /* based on Eric's ren */ /* rename dicom functional images created on GE 3T MRI*/ /*To compiler type: cc -o renfunc.o renfunc */ #include #include #include #include #include #include #include #include #include main(argc,argv) int argc; char *argv[]; { int i,st1,im1,im2,nofrep,rep,nopt,mo,mat,nos, ssn,tnoi,imn,slic; char copycmd[80],*prefix,fname[80],fnum[80],stnum[80],*foutroot,fout[80],infile[80]; void instructions(); /* parse arguments */ nopt = 0; if (argc-nopt < 5){ instructions(); exit(0); } ssn = atoi(argv[argc-4]); nos = atoi(argv[argc-3]); nofrep = atoi(argv[argc-2]); foutroot = argv[argc-1]; /*im1 = nos;*/ tnoi=nos*nofrep; strcpy(copycmd,"/bin/cp "); imn=0; for (rep=1;rep<=nofrep;rep++) { for (slic=1;slic<=nos;slic++){ imn = imn+1; strcpy(fname,copycmd); strcat(fname,"i"); sprintf(fnum,"%d.MRDC.%d ",ssn-1+imn,imn); strcat(fname,fnum); strcpy(fout,foutroot); sprintf(stnum,".%02d",slic); strcat(fout,stnum); sprintf(fnum,".%04d",rep); strcat(fout,fnum); strcat(fname,fout); printf("Command %s\n",fname); system(fname); } } } void instructions() { printf("\nRename a series of GE DICOM images to xxx.slicenumber.imagenumber format \n"); printf("Usage: renfunc\n"); printf(" starting series number\n"); printf(" number of slices\n"); printf(" number of reps\n"); printf(" outfile root\n"); return; }