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;
59 int fitNr;
63 int dataNr;
65 double *p;
67 double *sd;
69 double *cl1;
71 double *cl2;
73 double wss;
75 char sw;
76} PARR;
77/*****************************************************************************/
81typedef struct PARN {
87 int unit;
89 double lim1;
91 double lim2;
93 double tol;
95 char sw;
96} PARN;
97/*****************************************************************************/
101typedef struct {
105 int tacNr;
109 int parNr;
149} PAR;
150/*****************************************************************************/
151
152/*****************************************************************************/
153/* par */
154extern void parInit(PAR *par);
155extern void parrInit(PARR *parr);
156extern void parnInit(PARN *parn);
157extern void parFree(PAR *par);
158extern void parrFree(PARR *parr);
159extern int parAllocate(PAR *par, int parNr, int tacNr);
160extern int parAllocateMore(PAR *par, int parNr, int tacNr);
161extern int parrAllocate(PARR *parr, int parNr);
162extern char *parIsStudyNr(PAR *par);
163extern int parSetStudyNr(PAR *par, const char *s);
164extern void parEnsureNames(PAR *d);
165extern int parIsWSS(PAR *par);
166extern int parIsFitRange(PAR *par);
167extern int parIsModel(PAR *par);
168extern int parSDWithPar(PAR *par, int pi);
169extern int parCLWithPar(PAR *par, int pi);
170extern int parIsFitNr(PAR *par);
171extern int parIsDataNr(PAR *par);
172extern int parDeletePar(PAR *par, int pi);
173extern int parDeleteTAC(PAR *par, int ti);
174extern char *parIsOptcrit(PAR *par);
175/*****************************************************************************/
176
177/*****************************************************************************/
178/* pario */
179extern char *parFormattxt(parformat c);
180extern int parFormatIdentify(const char *s);
181extern int parFormatFromExtension(const char *s);
182extern char *parDefaultExtension(parformat c);
183extern int parWrite(PAR *par, FILE *fp, parformat format, int extra, TPCSTATUS *status);
184extern int parRead(PAR *par, const char *fname, TPCSTATUS *status);
185extern void parListLimits(PAR *par, FILE *fp);
186extern int parWriteLimits(PAR *par, const char *fname, const int verbose);
187extern int parReadLimits(PAR *par, const char *fname, const int verbose);
188/*****************************************************************************/
189
190/*****************************************************************************/
191/* parcsv */
192extern int parWriteCSV(PAR *par, FILE *fp, parformat format, int extra, TPCSTATUS *status);
193extern int parReadCSV(PAR *par, CSV *csv, IFT *hdr, TPCSTATUS *status);
194/*****************************************************************************/
195
196/*****************************************************************************/
197/* parift */
198extern int parToIFT(PAR *par, IFT *ift, TPCSTATUS *status);
199extern int parWriteIFT(PAR *par, FILE *fp, TPCSTATUS *status);
200extern int parFromIFT(PAR *par, IFT *ift, TPCSTATUS *status);
201/*****************************************************************************/
202
203/*****************************************************************************/
204/* parres */
205extern int parWriteRES(PAR *par, FILE *fp, TPCSTATUS *status);
206extern int parReadRES(PAR *par, CSV *csv, IFT *ift, TPCSTATUS *status);
207extern int parPrintType(PAR *par, int parIndex);
208/*****************************************************************************/
209
210/*****************************************************************************/
211/* parfit */
212extern int parWriteFIT(PAR *par, FILE *fp, TPCSTATUS *status);
213extern int parReadFIT(PAR *par, CSV *csv, IFT *ift, TPCSTATUS *status);
214/*****************************************************************************/
215/* parxmlio */
216extern int parWriteXML(PAR *par, FILE *fp, TPCSTATUS *status);
217/*****************************************************************************/
218
219/*****************************************************************************/
220/* parcomb */
221int parSelectByAnother(PAR *d1, PAR *d2, int *pn, int *pr, TPCSTATUS *status);
222int parCombineTACs(PAR *d1, PAR *d2, TPCSTATUS *status);
223/*****************************************************************************/
224
225/*****************************************************************************/
226/* parcomp */
227extern int parCompareParameterNames(
228 PAR *d1, PAR *d2, const int i, const int casens, TPCSTATUS *status
229);
230extern int parCompareParameterUnits(PAR *d1, PAR *d2, const int i, TPCSTATUS *status);
231extern int parCompareTacNames(
232 PAR *d1, PAR *d2, const int i, const int casens, TPCSTATUS *status
233);
234extern int parCompareParameters(
235 PAR *d1, PAR *d2, const int pi, const int ti,
236 int checkpar, int checksd, int checkcl,
237 const double test_abs, const double test_rel, TPCSTATUS *status
238);
239extern int parCompareWSS(
240 PAR *d1, PAR *d2, const int ti,
241 const double test_abs, const double test_rel, TPCSTATUS *status
242);
243/*****************************************************************************/
244
245/*****************************************************************************/
246/* parorder */
247extern int parSortByName(PAR *d, TPCSTATUS *status);
248/*****************************************************************************/
249
250/*****************************************************************************/
251/* parselect */
252extern int parSelectTACs(PAR *d, const char *region_name, int reset, TPCSTATUS *status);
253extern int parSelectedTACs(PAR *d);
254extern int parSelectParameters(PAR *d, const char *par_name, int reset, TPCSTATUS *status);
255extern int parSelectedParameters(PAR *d);
256extern int parFindParameter(PAR *d, const char *par_name);
257extern double parGetParameter(PAR *d, const char *par_name, const int ti);
258extern int parGetParameterUnit(PAR *d, const char *par_name);
259extern void parValueRange(PAR *d, const int i, double *pmin, double *pmax);
260/*****************************************************************************/
261
262/*****************************************************************************/
263/* parexample */
264extern int parExampleTTACs(PAR *d, int type, TPCSTATUS *status);
265extern int parExamplePerfectBolus(PAR *d, TPCSTATUS *status);
266/*****************************************************************************/
267
268/*****************************************************************************/
269#endif /* TPCPAR */
Definition tpccsv.h:36
Definition tpcift.h:43
Definition tpcpar.h:101
int format
Definition tpcpar.h:103
IFT h
Optional (but often useful) header information.
Definition tpcpar.h:148
int _parNr
Definition tpcpar.h:111
int parNr
Definition tpcpar.h:109
int tacNr
Definition tpcpar.h:105
PARR * r
Definition tpcpar.h:115
int _tacNr
Definition tpcpar.h:107
PARN * n
Definition tpcpar.h:113
Definition tpcpar.h:81
int unit
Definition tpcpar.h:87
double lim2
Definition tpcpar.h:91
char sw
Definition tpcpar.h:95
double tol
Definition tpcpar.h:93
char name[MAX_PARNAME_LEN+1]
Definition tpcpar.h:83
double lim1
Definition tpcpar.h:89
Definition tpcpar.h:46
double wss
Definition tpcpar.h:73
int fitNr
Definition tpcpar.h:59
char name[MAX_TACNAME_LEN+1]
Definition tpcpar.h:50
int dataNr
Definition tpcpar.h:63
double * cl2
Definition tpcpar.h:71
char sw
Definition tpcpar.h:75
unsigned int model
Definition tpcpar.h:48
double * p
Definition tpcpar.h:65
double start
Definition tpcpar.h:52
double * sd
Definition tpcpar.h:67
double * cl1
Definition tpcpar.h:69
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 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