#include #include #include #include #include "constants.h" #include "struct_ROI.h" #include "struct_TAC_in.h" void write_header_akc(struct TAC_t *TAC, char const *fileName, int MAT) { int i; // Open file for writing FILE *f = fopen(fileName, "w"); // Write header information fprintf(f, "ASIPro Tacs File:\n%s\n", TAC->inTacsFile); fprintf(f, "Output File:\n%s\n", fileName); fprintf(f, "subject:\n%s\n", TAC->subject); fprintf(f, "scan:\n%s\n", TAC->scan); fprintf(f, "comment:\n%s\n", TAC->comment); fprintf(f, "Administered Activity:\n%f\n", TAC->admAct); fprintf(f, "nROIs:\n%d\n", TAC->nROIs); fprintf(f, "MAT calculated at:\n%d\n\n", MAT); fclose(f); } void write_ROIData_akc(struct ROI *ROI, struct TAC_t *TAC, char const *fileName, int i) { // Open file for appending FILE *f = fopen(fileName, "a"); // Write column headers if (i == 0) { fprintf(f, "ROI name\tX (mm)\tsv\tMAT\t"); } // Write name of ROI, position of ROI, sv, MAT fprintf(f, "\n%s\t%f\t%f\t%f\t", TAC->ROIs[i], TAC->X[i], ROI->sv, ROI->MAT); fclose(f); } void write_ModelData_akc(struct ROI *ROI, struct TAC_t *TAC, char const *fileName, int i) { // Open file for appending FILE *f = fopen(fileName, "a"); int j; // Write ROI name if (i == 0) { fprintf(f, "\n\n%s\n", TAC->ROIs[i]); } else { fprintf(f, "\n%s\n", TAC->ROIs[i]); } // Write column headers fprintf(f, "time\t\tobserved\tbound\t\tfree\t\tbound+free\t\n"); // Write duration, observed, bound, free, bound+free for (j = 0; j < TAC->nFrames; ++j) { fprintf(f, "%f\t%f\t%f\t%f\t%f\t\n", ROI->time[j], ROI->observed[j], ROI->bound[j], ROI->free[j], ROI->M[j]); } fclose(f); }