TPCCLIB
Loading...
Searching...
No Matches
tpcpar.h
Go to the documentation of this file.
1
7#ifndef _TPCPAR_H_
8#define _TPCPAR_H_
9/*****************************************************************************/
10
11/*****************************************************************************/
12#include "tpcclibConfig.h"
13/*****************************************************************************/
14#include <stdio.h>
15#include <stdlib.h>
16#include <string.h>
17#include <math.h>
18/*****************************************************************************/
19#include "tpcextensions.h"
20#include "tpccsv.h"
21#include "tpcift.h"
22#include "tpcmodels.h"
23/*****************************************************************************/
24
25/*****************************************************************************/
40/*****************************************************************************/
41
42/*****************************************************************************/
46typedef struct PARR {
48 unsigned int model;
52 double start;
54 double end;
58 int fitNr;
62 int dataNr;
64 double *p;
66 double *sd;
68 double *cl1;
70 double *cl2;
72 double wss;
74 char sw;
75} PARR;
76/*****************************************************************************/
80typedef struct PARN {
86 int unit;
88 double lim1;
90 double lim2;
92 double tol;
94 char sw;
95} PARN;
96/*****************************************************************************/
100typedef struct {
104 int tacNr;
108 int parNr;
148} PAR;
149/*****************************************************************************/
150
151/*****************************************************************************/
152/* par */
153extern void parInit(PAR *par);
154extern void parrInit(PARR *parr);
155extern void parnInit(PARN *parn);
156extern void parFree(PAR *par);
157extern void parrFree(PARR *parr);
158extern int parAllocate(PAR *par, int parNr, int tacNr);
159extern int parAllocateMore(PAR *par, int parNr, int tacNr);
160extern int parrAllocate(PARR *parr, int parNr);
161extern char *parIsStudyNr(PAR *par);
162extern int parSetStudyNr(PAR *par, const char *s);
163extern void parEnsureNames(PAR *d);
164extern int parIsWSS(PAR *par);
165extern int parIsFitRange(PAR *par);
166extern int parIsModel(PAR *par);
167extern int parSDWithPar(PAR *par, int pi);
168extern int parCLWithPar(PAR *par, int pi);
169extern int parIsFitNr(PAR *par);
170extern int parIsDataNr(PAR *par);
171extern int parDeletePar(PAR *par, int pi);
172extern int parDeleteTAC(PAR *par, int ti);
173extern char *parIsOptcrit(PAR *par);
174/*****************************************************************************/
175
176/*****************************************************************************/
177/* pario */
178extern char *parFormattxt(parformat c);
179extern int parFormatIdentify(const char *s);
180extern int parFormatFromExtension(const char *s);
181extern char *parDefaultExtension(parformat c);
182extern int parWrite(PAR *par, FILE *fp, parformat format, int extra, TPCSTATUS *status);
183extern int parRead(PAR *par, const char *fname, TPCSTATUS *status);
184extern void parListLimits(PAR *par, FILE *fp);
185extern int parWriteLimits(PAR *par, const char *fname, const int verbose);
186extern int parReadLimits(PAR *par, const char *fname, const int verbose);
187/*****************************************************************************/
188
189/*****************************************************************************/
190/* parcsv */
191extern int parWriteCSV(PAR *par, FILE *fp, parformat format, int extra, TPCSTATUS *status);
192extern int parReadCSV(PAR *par, CSV *csv, IFT *hdr, TPCSTATUS *status);
193/*****************************************************************************/
194
195/*****************************************************************************/
196/* parift */
197extern int parToIFT(PAR *par, IFT *ift, TPCSTATUS *status);
198extern int parWriteIFT(PAR *par, FILE *fp, TPCSTATUS *status);
199extern int parFromIFT(PAR *par, IFT *ift, TPCSTATUS *status);
200/*****************************************************************************/
201
202/*****************************************************************************/
203/* parres */
204extern int parWriteRES(PAR *par, FILE *fp, TPCSTATUS *status);
205extern int parReadRES(PAR *par, CSV *csv, IFT *ift, TPCSTATUS *status);
206extern int parPrintType(PAR *par, int parIndex);
207/*****************************************************************************/
208
209/*****************************************************************************/
210/* parfit */
211extern int parWriteFIT(PAR *par, FILE *fp, TPCSTATUS *status);
212extern int parReadFIT(PAR *par, CSV *csv, IFT *ift, TPCSTATUS *status);
213/*****************************************************************************/
214/* parxmlio */
215extern int parWriteXML(PAR *par, FILE *fp, TPCSTATUS *status);
216/*****************************************************************************/
217
218/*****************************************************************************/
219/* parcomb */
220int parSelectByAnother(PAR *d1, PAR *d2, int *pn, int *pr, TPCSTATUS *status);
221int parCombineTACs(PAR *d1, PAR *d2, TPCSTATUS *status);
222/*****************************************************************************/
223
224/*****************************************************************************/
225/* parcomp */
226extern int parCompareParameterNames(
227 PAR *d1, PAR *d2, const int i, const int casens, TPCSTATUS *status
228);
229extern int parCompareParameterUnits(PAR *d1, PAR *d2, const int i, TPCSTATUS *status);
230extern int parCompareTacNames(
231 PAR *d1, PAR *d2, const int i, const int casens, TPCSTATUS *status
232);
233extern int parCompareParameters(
234 PAR *d1, PAR *d2, const int pi, const int ti,
235 int checkpar, int checksd, int checkcl,
236 const double test_abs, const double test_rel, TPCSTATUS *status
237);
238extern int parCompareWSS(
239 PAR *d1, PAR *d2, const int ti,
240 const double test_abs, const double test_rel, TPCSTATUS *status
241);
242/*****************************************************************************/
243
244/*****************************************************************************/
245/* parorder */
246extern int parSortByName(PAR *d, TPCSTATUS *status);
247/*****************************************************************************/
248
249/*****************************************************************************/
250/* parselect */
251extern int parSelectTACs(PAR *d, const char *region_name, int reset, TPCSTATUS *status);
252extern int parSelectedTACs(PAR *d);
253extern int parSelectParameters(PAR *d, const char *par_name, int reset, TPCSTATUS *status);
254extern int parSelectedParameters(PAR *d);
255extern int parFindParameter(PAR *d, const char *par_name);
256extern double parGetParameter(PAR *d, const char *par_name, const int ti);
257extern int parGetParameterUnit(PAR *d, const char *par_name);
258extern void parValueRange(PAR *d, const int i, double *pmin, double *pmax);
259/*****************************************************************************/
260
261/*****************************************************************************/
262/* parexample */
263extern int parExampleTTACs(PAR *d, int type, TPCSTATUS *status);
264extern int parExamplePerfectBolus(PAR *d, TPCSTATUS *status);
265extern int parExampleRadiowaterBolus(PAR *d, TPCSTATUS *status);
266/*****************************************************************************/
267
268/*****************************************************************************/
269#endif /* TPCPAR */
Definition tpccsv.h:36
Definition tpcift.h:43
Definition tpcpar.h:100
int format
Definition tpcpar.h:102
IFT h
Optional (but often useful) header information.
Definition tpcpar.h:147
int _parNr
Definition tpcpar.h:110
int parNr
Definition tpcpar.h:108
int tacNr
Definition tpcpar.h:104
PARR * r
Definition tpcpar.h:114
int _tacNr
Definition tpcpar.h:106
PARN * n
Definition tpcpar.h:112
Definition tpcpar.h:80
int unit
Definition tpcpar.h:86
double lim2
Definition tpcpar.h:90
char sw
Definition tpcpar.h:94
double tol
Definition tpcpar.h:92
char name[MAX_PARNAME_LEN+1]
Definition tpcpar.h:82
double lim1
Definition tpcpar.h:88
Definition tpcpar.h:46
double wss
Definition tpcpar.h:72
int fitNr
Definition tpcpar.h:58
char name[MAX_TACNAME_LEN+1]
Definition tpcpar.h:50
int dataNr
Definition tpcpar.h:62
double * cl2
Definition tpcpar.h:70
char sw
Definition tpcpar.h:74
unsigned int model
Definition tpcpar.h:48
double * p
Definition tpcpar.h:64
double start
Definition tpcpar.h:52
double * sd
Definition tpcpar.h:66
double * cl1
Definition tpcpar.h:68
double end
Definition tpcpar.h:54
Header file for library libtpccsv.
Header file for library libtpcextensions.
#define MAX_TACNAME_LEN
Max length of TAC ID name (not including trailing zero).
#define MAX_PARNAME_LEN
Max string length for PAR name.
Header file for library libtpcift.
Header file for libtpcmodels.
int parIsFitRange(PAR *par)
Definition par.c:267
int parWriteXML(PAR *par, FILE *fp, TPCSTATUS *status)
Definition parxmlio.c:26
int parWriteCSV(PAR *par, FILE *fp, parformat format, int extra, TPCSTATUS *status)
Definition parcsv.c:26
int parSDWithPar(PAR *par, int pi)
Definition par.c:307
char * parIsOptcrit(PAR *par)
Definition par.c:381
char * parFormattxt(parformat c)
Definition pario.c:59
void parrFree(PARR *parr)
Definition par.c:87
int parWriteFIT(PAR *par, FILE *fp, TPCSTATUS *status)
Definition parfit.c:27
int parFormatIdentify(const char *s)
Definition pario.c:74
int parWriteIFT(PAR *par, FILE *fp, TPCSTATUS *status)
Definition parift.c:167
int parDeletePar(PAR *par, int pi)
Definition par.c:478
parformat
Definition tpcpar.h:27
@ PAR_FORMAT_XML
XML format (currently not supported).
Definition tpcpar.h:36
@ PAR_FORMAT_HTML
HTML table format (currently not supported).
Definition tpcpar.h:37
@ PAR_FORMAT_CSV_UK
UK CSV.
Definition tpcpar.h:33
@ PAR_FORMAT_CSV_INT
International CSV.
Definition tpcpar.h:32
@ PAR_FORMAT_IFT
Interfile-type data (supported for writing).
Definition tpcpar.h:31
@ PAR_FORMAT_TSV_INT
International TSV (comma as decimal separator).
Definition tpcpar.h:34
@ PAR_FORMAT_RES
Model result format of Turku PET Centre.
Definition tpcpar.h:29
@ PAR_FORMAT_FIT
Function fit format of Turku PET Centre.
Definition tpcpar.h:30
@ PAR_FORMAT_UNKNOWN
Unknown format.
Definition tpcpar.h:28
@ PAR_FORMAT_LAST
End of list.
Definition tpcpar.h:38
@ PAR_FORMAT_TSV_UK
UK TSV (point as decimal separator).
Definition tpcpar.h:35
void parFree(PAR *par)
Definition par.c:75
int parCompareTacNames(PAR *d1, PAR *d2, const int i, const int casens, TPCSTATUS *status)
Definition parcomp.c:157
int parAllocate(PAR *par, int parNr, int tacNr)
Definition par.c:108
int parCLWithPar(PAR *par, int pi)
Definition par.c:325
int parToIFT(PAR *par, IFT *ift, TPCSTATUS *status)
Definition parift.c:24
void parEnsureNames(PAR *d)
Definition par.c:449
int parIsFitNr(PAR *par)
Definition par.c:343
int parWrite(PAR *par, FILE *fp, parformat format, int extra, TPCSTATUS *status)
Definition pario.c:148
int parrAllocate(PARR *parr, int parNr)
Definition par.c:150
int parIsWSS(PAR *par)
Definition par.c:252
int parSelectTACs(PAR *d, const char *region_name, int reset, TPCSTATUS *status)
Definition parselect.c:24
int parExampleTTACs(PAR *d, int type, TPCSTATUS *status)
Definition parexample.c:24
int parSelectParameters(PAR *d, const char *par_name, int reset, TPCSTATUS *status)
Definition parselect.c:120
int parReadLimits(PAR *par, const char *fname, const int verbose)
Definition pario.c:489
int parIsDataNr(PAR *par)
Definition par.c:362
double parGetParameter(PAR *d, const char *par_name, const int ti)
Definition parselect.c:242
int parExamplePerfectBolus(PAR *d, TPCSTATUS *status)
Definition parexample.c:120
int parIsModel(PAR *par)
Definition par.c:288
int parReadFIT(PAR *par, CSV *csv, IFT *ift, TPCSTATUS *status)
Definition parfit.c:131
int parFromIFT(PAR *par, IFT *ift, TPCSTATUS *status)
Definition parift.c:207
int parWriteRES(PAR *par, FILE *fp, TPCSTATUS *status)
Definition parres.c:26
int parRead(PAR *par, const char *fname, TPCSTATUS *status)
Definition pario.c:232
int parExampleRadiowaterBolus(PAR *d, TPCSTATUS *status)
Definition parexample.c:184
int parSelectByAnother(PAR *d1, PAR *d2, int *pn, int *pr, TPCSTATUS *status)
Definition parcomb.c:22
void parrInit(PARR *parr)
Definition par.c:41
int parCompareParameterNames(PAR *d1, PAR *d2, const int i, const int casens, TPCSTATUS *status)
Definition parcomp.c:28
int parCompareParameterUnits(PAR *d1, PAR *d2, const int i, TPCSTATUS *status)
Definition parcomp.c:103
int parGetParameterUnit(PAR *d, const char *par_name)
Definition parselect.c:267
int parReadCSV(PAR *par, CSV *csv, IFT *hdr, TPCSTATUS *status)
Definition parcsv.c:221
int parReadRES(PAR *par, CSV *csv, IFT *ift, TPCSTATUS *status)
Definition parres.c:268
char * parIsStudyNr(PAR *par)
Definition par.c:399
void parListLimits(PAR *par, FILE *fp)
Definition pario.c:406
void parValueRange(PAR *d, const int i, double *pmin, double *pmax)
Definition parselect.c:287
int parCompareParameters(PAR *d1, PAR *d2, const int pi, const int ti, int checkpar, int checksd, int checkcl, const double test_abs, const double test_rel, TPCSTATUS *status)
Definition parcomp.c:237
void parnInit(PARN *parn)
Definition par.c:59
int parFormatFromExtension(const char *s)
Definition pario.c:102
int parCompareWSS(PAR *d1, PAR *d2, const int ti, const double test_abs, const double test_rel, TPCSTATUS *status)
Definition parcomp.c:378
int parFindParameter(PAR *d, const char *par_name)
Definition parselect.c:219
void parInit(PAR *par)
Definition par.c:25
int parDeleteTAC(PAR *par, int ti)
Definition par.c:519
char * parDefaultExtension(parformat c)
Definition pario.c:133
int parSortByName(PAR *d, TPCSTATUS *status)
Definition parorder.c:30
int parSetStudyNr(PAR *par, const char *s)
Definition par.c:417
int parSelectedTACs(PAR *d)
Definition parselect.c:100
int parSelectedParameters(PAR *d)
Definition parselect.c:199
int parCombineTACs(PAR *d1, PAR *d2, TPCSTATUS *status)
Definition parcomb.c:99
int parAllocateMore(PAR *par, int parNr, int tacNr)
Definition par.c:183
int parWriteLimits(PAR *par, const char *fname, const int verbose)
Definition pario.c:432
int parPrintType(PAR *par, int parIndex)
Definition parres.c:584