My Project
Data Structures | Macros | Functions | Variables
analyze.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ANALYZE_HEADER_KEY
 
struct  ANALYZE_HEADER_IMGDIM
 
struct  ANALYZE_HEADER_HISTORY
 
struct  ANALYZE_DSR
 

Macros

#define BACKUP_EXTENSION   ".bak"
 
#define ANALYZE_HEADER_KEY_SIZE   40
 
#define ANALYZE_HEADER_IMGDIM_SIZE   108
 
#define ANALYZE_HEADER_HISTORY_SIZE   200
 
#define ANALYZE_FLIP_DEFAULT   1
 
#define ANALYZE_DT_NONE   0
 
#define ANALYZE_DT_UNKNOWN   0
 
#define ANALYZE_DT_BINARY   1
 
#define ANALYZE_DT_UNSIGNED_CHAR   2
 
#define ANALYZE_DT_SIGNED_SHORT   4
 
#define ANALYZE_DT_SIGNED_INT   8
 
#define ANALYZE_DT_FLOAT   16
 
#define ANALYZE_DT_COMPLEX   32
 
#define ANALYZE_DT_DOUBLE   64
 
#define ANALYZE_DT_RGB   128
 
#define ANALYZE_DT_ALL   255
 

Functions

int anaExists (const char *dbname)
 
int anaRemove (const char *dbname)
 
void anaRemoveFNameExtension (char *fname)
 
int anaDatabaseExists (const char *dbname, char *hdrfile, char *imgfile, char *siffile)
 
int anaMakeSIFName (const char *dbname, char *siffile)
 
int anaFlipping ()
 
int anaReadHeader (char *filename, ANALYZE_DSR *h)
 
int anaReadImagedata (FILE *fp, ANALYZE_DSR *h, int frame, float *data)
 
int anaWriteHeader (char *filename, ANALYZE_DSR *h)
 
int anaPrintHeader (ANALYZE_DSR *h, FILE *fp)
 

Variables

int ANALYZE_TEST
 

Macro Definition Documentation

◆ ANALYZE_DT_ALL

#define ANALYZE_DT_ALL   255

Definition at line 39 of file analyze.h.

◆ ANALYZE_DT_BINARY

#define ANALYZE_DT_BINARY   1

Definition at line 31 of file analyze.h.

◆ ANALYZE_DT_COMPLEX

#define ANALYZE_DT_COMPLEX   32

Definition at line 36 of file analyze.h.

◆ ANALYZE_DT_DOUBLE

#define ANALYZE_DT_DOUBLE   64

Definition at line 37 of file analyze.h.

◆ ANALYZE_DT_FLOAT

#define ANALYZE_DT_FLOAT   16

Definition at line 35 of file analyze.h.

◆ ANALYZE_DT_NONE

#define ANALYZE_DT_NONE   0

Definition at line 29 of file analyze.h.

◆ ANALYZE_DT_RGB

#define ANALYZE_DT_RGB   128

Definition at line 38 of file analyze.h.

◆ ANALYZE_DT_SIGNED_INT

#define ANALYZE_DT_SIGNED_INT   8

Definition at line 34 of file analyze.h.

◆ ANALYZE_DT_SIGNED_SHORT

#define ANALYZE_DT_SIGNED_SHORT   4

Definition at line 33 of file analyze.h.

◆ ANALYZE_DT_UNKNOWN

#define ANALYZE_DT_UNKNOWN   0

Definition at line 30 of file analyze.h.

◆ ANALYZE_DT_UNSIGNED_CHAR

#define ANALYZE_DT_UNSIGNED_CHAR   2

Definition at line 32 of file analyze.h.

◆ ANALYZE_FLIP_DEFAULT

#define ANALYZE_FLIP_DEFAULT   1

Definition at line 26 of file analyze.h.

◆ ANALYZE_HEADER_HISTORY_SIZE

#define ANALYZE_HEADER_HISTORY_SIZE   200

Definition at line 24 of file analyze.h.

◆ ANALYZE_HEADER_IMGDIM_SIZE

#define ANALYZE_HEADER_IMGDIM_SIZE   108

Definition at line 23 of file analyze.h.

◆ ANALYZE_HEADER_KEY_SIZE

#define ANALYZE_HEADER_KEY_SIZE   40

Definition at line 22 of file analyze.h.

◆ BACKUP_EXTENSION

#define BACKUP_EXTENSION   ".bak"

Definition at line 19 of file analyze.h.

Function Documentation

◆ anaDatabaseExists()

int anaDatabaseExists ( const char *  dbname,
char *  hdrfile,
char *  imgfile,
char *  siffile 
)

Check if Analyze database files exist (*.hdr, *.img, and optionally *.sif).

Parameters
dbnameanalyze database name that is tested. String may contain standard extensions .hdr, .img or .sif.
hdrfilepointer to an allocated string, where existing header filename is written. If not found, then set to "". NULL can be entered, if not needed.
imgfilepointer to an allocated string, where existing image filename is written. If not found, then set to "". NULL can be entered, if not needed.
siffilepointer to an allocated string, where existing sif filename is written. If not found, then set to "". NULL can be entered, if not needed.
Returns
0, if files do not exist, 1 if .img and .hdr do exist, and 2, if also .sif exists.

Definition at line 619 of file analyze.c.

References ANALYZE_TEST, anaMakeSIFName(), and anaRemoveFNameExtension().

Referenced by anaRemove(), imgReadAnalyzeFrame(), imgReadAnalyzeHeader(), imgReadHeader(), and imgWriteAnalyzeFrame().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ anaExists()

int anaExists ( const char *  dbname)

Check if Analyze files exist.

Parameters
dbnamebasename of Analyze7.5 file.
Returns
0, if they do not, 1 if .img and .hdr do exist, and 2, if also .sif exists.

Definition at line 75 of file analyze.c.

Referenced by imgRead(), and imgReadAnalyze().

Here is the caller graph for this function:

◆ anaFlipping()

int anaFlipping ( )

Check whether Analyze image is flipped in z-direction when it is read from/written to file (x,y-flipping is done always)

Returns
1 if Analyze data is flipped

Definition at line 545 of file analyze.c.

References ANALYZE_FLIP_DEFAULT, and ANALYZE_TEST.

Referenced by imgReadAnalyze(), imgReadAnalyzeFrame(), imgWriteAnalyze(), and imgWriteAnalyzeFrame().

Here is the caller graph for this function:

◆ anaMakeSIFName()

int anaMakeSIFName ( const char *  dbname,
char *  siffile 
)

Make SIF filename from Analyze 7.5 database name.

Parameters
dbnameanalyze 7.5 database name (including possible path but not extension
siffilepointer to allocated space for SIF filename
Returns
Returns 0 if SIF file is accessible, 1 if invalid input, 2 if sif name not found.

Definition at line 667 of file analyze.c.

Referenced by anaDatabaseExists().

Here is the caller graph for this function:

◆ anaPrintHeader()

int anaPrintHeader ( ANALYZE_DSR h,
FILE *  fp 
)

Print the contents of Analyze header to specified file pointer.

Parameters
hanalyze header stucture
fpfile pointer
Returns
Returns 0 if ok, 1 if invalid input

Definition at line 307 of file analyze.c.

References ANALYZE_HEADER_HISTORY::aux_file, ANALYZE_HEADER_IMGDIM::bitpix, ANALYZE_HEADER_IMGDIM::cal_max, ANALYZE_HEADER_IMGDIM::cal_min, ANALYZE_HEADER_IMGDIM::compressed, ANALYZE_HEADER_KEY::data_type, ANALYZE_HEADER_IMGDIM::datatype, ANALYZE_HEADER_KEY::db_name, ANALYZE_HEADER_HISTORY::descrip, ANALYZE_HEADER_IMGDIM::dim, ANALYZE_HEADER_IMGDIM::dim_un0, ANALYZE_DSR::dime, ANALYZE_HEADER_HISTORY::exp_date, ANALYZE_HEADER_HISTORY::exp_time, ANALYZE_HEADER_KEY::extents, ANALYZE_HEADER_HISTORY::field_skip, ANALYZE_HEADER_IMGDIM::funused1, ANALYZE_HEADER_IMGDIM::funused2, ANALYZE_HEADER_IMGDIM::funused3, ANALYZE_HEADER_HISTORY::generated, ANALYZE_HEADER_IMGDIM::glmax, ANALYZE_HEADER_IMGDIM::glmin, ANALYZE_DSR::hist, ANALYZE_HEADER_HISTORY::hist_un0, ANALYZE_DSR::hk, ANALYZE_HEADER_KEY::hkey_un0, ANALYZE_DSR::little, ANALYZE_HEADER_HISTORY::omax, ANALYZE_HEADER_HISTORY::omin, ANALYZE_HEADER_HISTORY::orient, ANALYZE_HEADER_HISTORY::originator, ANALYZE_HEADER_HISTORY::patient_id, ANALYZE_HEADER_IMGDIM::pixdim, ANALYZE_HEADER_KEY::regular, ANALYZE_HEADER_HISTORY::scannum, ANALYZE_HEADER_KEY::session_error, ANALYZE_HEADER_KEY::sizeof_hdr, ANALYZE_HEADER_HISTORY::smax, ANALYZE_HEADER_HISTORY::smin, ANALYZE_HEADER_HISTORY::start_field, ANALYZE_HEADER_IMGDIM::unused10, ANALYZE_HEADER_IMGDIM::unused11, ANALYZE_HEADER_IMGDIM::unused12, ANALYZE_HEADER_IMGDIM::unused13, ANALYZE_HEADER_IMGDIM::unused14, ANALYZE_HEADER_IMGDIM::unused8, ANALYZE_HEADER_IMGDIM::unused9, ANALYZE_HEADER_IMGDIM::verified, ANALYZE_HEADER_HISTORY::views, ANALYZE_HEADER_HISTORY::vols_added, and ANALYZE_HEADER_IMGDIM::vox_offset.

Referenced by imgReadAnalyze().

Here is the caller graph for this function:

◆ anaReadHeader()

int anaReadHeader ( char *  filename,
ANALYZE_DSR h 
)

Read analyze header contents.

Parameters
filenamename of file to read (including path and extension)
hPointer to previously allocated header structure
Returns
0, if ok, 1 if invalid input, 2 if file cannot be opened, 3 if header cound not be read, 4 if header image dimension could not be read

Definition at line 102 of file analyze.c.

References ANALYZE_HEADER_HISTORY_SIZE, ANALYZE_HEADER_IMGDIM_SIZE, ANALYZE_HEADER_KEY_SIZE, ANALYZE_TEST, ANALYZE_HEADER_HISTORY::aux_file, ANALYZE_HEADER_IMGDIM::bitpix, ANALYZE_HEADER_IMGDIM::cal_max, ANALYZE_HEADER_IMGDIM::cal_min, ANALYZE_HEADER_IMGDIM::compressed, ANALYZE_HEADER_KEY::data_type, ANALYZE_HEADER_IMGDIM::datatype, ANALYZE_HEADER_KEY::db_name, ANALYZE_HEADER_HISTORY::descrip, ANALYZE_HEADER_IMGDIM::dim, ANALYZE_HEADER_IMGDIM::dim_un0, ANALYZE_DSR::dime, ANALYZE_HEADER_HISTORY::exp_date, ANALYZE_HEADER_HISTORY::exp_time, ANALYZE_HEADER_KEY::extents, ANALYZE_HEADER_HISTORY::field_skip, ANALYZE_HEADER_IMGDIM::funused1, ANALYZE_HEADER_IMGDIM::funused2, ANALYZE_HEADER_IMGDIM::funused3, ANALYZE_HEADER_HISTORY::generated, ANALYZE_HEADER_IMGDIM::glmax, ANALYZE_HEADER_IMGDIM::glmin, ANALYZE_DSR::hist, ANALYZE_HEADER_HISTORY::hist_un0, ANALYZE_DSR::hk, ANALYZE_HEADER_KEY::hkey_un0, ANALYZE_DSR::little, ANALYZE_HEADER_HISTORY::omax, ANALYZE_HEADER_HISTORY::omin, ANALYZE_HEADER_HISTORY::orient, ANALYZE_HEADER_HISTORY::originator, ANALYZE_HEADER_HISTORY::patient_id, ANALYZE_HEADER_IMGDIM::pixdim, ANALYZE_HEADER_KEY::regular, ANALYZE_HEADER_HISTORY::scannum, ANALYZE_HEADER_KEY::session_error, ANALYZE_HEADER_KEY::sizeof_hdr, ANALYZE_HEADER_HISTORY::smax, ANALYZE_HEADER_HISTORY::smin, ANALYZE_HEADER_HISTORY::start_field, ANALYZE_HEADER_IMGDIM::unused10, ANALYZE_HEADER_IMGDIM::unused11, ANALYZE_HEADER_IMGDIM::unused12, ANALYZE_HEADER_IMGDIM::unused13, ANALYZE_HEADER_IMGDIM::unused14, ANALYZE_HEADER_IMGDIM::unused8, ANALYZE_HEADER_IMGDIM::unused9, ANALYZE_HEADER_IMGDIM::verified, ANALYZE_HEADER_HISTORY::views, ANALYZE_HEADER_HISTORY::vols_added, and ANALYZE_HEADER_IMGDIM::vox_offset.

Referenced by imgReadAnalyze(), imgReadAnalyzeFrame(), imgReadAnalyzeHeader(), and imgWriteAnalyzeFrame().

Here is the caller graph for this function:

◆ anaReadImagedata()

int anaReadImagedata ( FILE *  fp,
ANALYZE_DSR h,
int  frame,
float *  data 
)

Read Analyze 7.5 image data, convert byte order if necessary, and scale values to floats. Reads only one frame at a time!

Parameters
fpfile opened previously in binary mode
hanalyze header read previously
frameframe number to read [1..number of frames]
datapointer to image float data allocated previously

Definition at line 381 of file analyze.c.

References ANALYZE_DT_COMPLEX, ANALYZE_DT_DOUBLE, ANALYZE_DT_FLOAT, ANALYZE_DT_SIGNED_INT, ANALYZE_DT_SIGNED_SHORT, ANALYZE_DT_UNSIGNED_CHAR, ANALYZE_TEST, ANALYZE_HEADER_IMGDIM::bitpix, ANALYZE_HEADER_IMGDIM::datatype, ANALYZE_HEADER_IMGDIM::dim, ANALYZE_DSR::dime, ANALYZE_HEADER_IMGDIM::funused1, ANALYZE_DSR::little, and ANALYZE_HEADER_IMGDIM::vox_offset.

Referenced by imgReadAnalyze(), and imgReadAnalyzeFrame().

Here is the caller graph for this function:

◆ anaRemove()

int anaRemove ( const char *  dbname)

Remove header and data files belonging to specified Analyze 7.5 database. SIF is not deleted in any case.

Returns
0 when call was successful, 1 if header file deletion failed, 2 if data file deletion failed. Call is considered successful, if database does not exist initially.

Definition at line 576 of file analyze.c.

References anaDatabaseExists(), and ANALYZE_TEST.

Here is the call graph for this function:

◆ anaRemoveFNameExtension()

void anaRemoveFNameExtension ( char *  fname)

Check if Analyze 7.5 filename was given accidentally with extension. Remove the extension if necessary

Parameters
fnamefull name of file

Definition at line 595 of file analyze.c.

Referenced by anaDatabaseExists().

Here is the caller graph for this function:

◆ anaWriteHeader()

int anaWriteHeader ( char *  filename,
ANALYZE_DSR h 
)

Write analyze header contents. Header field 'little' is used to determine the required byte order.

Parameters
filenamename of file to read (including path and extension)
hpointer to Analyze header structure
Returns
0, if ok, 1 if invalid input, 2 if file could not be opened for writing, 3 if data header write failed, 4 if image dimension wri te failed, 5 if header history wri te failed

Definition at line 209 of file analyze.c.

References ANALYZE_HEADER_HISTORY_SIZE, ANALYZE_HEADER_IMGDIM_SIZE, ANALYZE_HEADER_KEY_SIZE, ANALYZE_TEST, ANALYZE_HEADER_HISTORY::aux_file, ANALYZE_HEADER_IMGDIM::bitpix, ANALYZE_HEADER_IMGDIM::cal_max, ANALYZE_HEADER_IMGDIM::cal_min, ANALYZE_HEADER_IMGDIM::compressed, ANALYZE_HEADER_KEY::data_type, ANALYZE_HEADER_IMGDIM::datatype, ANALYZE_HEADER_KEY::db_name, ANALYZE_HEADER_HISTORY::descrip, ANALYZE_HEADER_IMGDIM::dim, ANALYZE_HEADER_IMGDIM::dim_un0, ANALYZE_DSR::dime, ANALYZE_HEADER_HISTORY::exp_date, ANALYZE_HEADER_HISTORY::exp_time, ANALYZE_HEADER_KEY::extents, ANALYZE_HEADER_HISTORY::field_skip, ANALYZE_HEADER_IMGDIM::funused1, ANALYZE_HEADER_IMGDIM::funused2, ANALYZE_HEADER_IMGDIM::funused3, ANALYZE_HEADER_HISTORY::generated, ANALYZE_HEADER_IMGDIM::glmax, ANALYZE_HEADER_IMGDIM::glmin, ANALYZE_DSR::hist, ANALYZE_HEADER_HISTORY::hist_un0, ANALYZE_DSR::hk, ANALYZE_HEADER_KEY::hkey_un0, ANALYZE_DSR::little, ANALYZE_HEADER_HISTORY::omax, ANALYZE_HEADER_HISTORY::omin, ANALYZE_HEADER_HISTORY::orient, ANALYZE_HEADER_HISTORY::originator, ANALYZE_HEADER_HISTORY::patient_id, ANALYZE_HEADER_IMGDIM::pixdim, ANALYZE_HEADER_KEY::regular, ANALYZE_HEADER_HISTORY::scannum, ANALYZE_HEADER_KEY::session_error, ANALYZE_HEADER_KEY::sizeof_hdr, ANALYZE_HEADER_HISTORY::smax, ANALYZE_HEADER_HISTORY::smin, ANALYZE_HEADER_HISTORY::start_field, ANALYZE_HEADER_IMGDIM::unused10, ANALYZE_HEADER_IMGDIM::unused11, ANALYZE_HEADER_IMGDIM::unused12, ANALYZE_HEADER_IMGDIM::unused13, ANALYZE_HEADER_IMGDIM::unused14, ANALYZE_HEADER_IMGDIM::unused8, ANALYZE_HEADER_IMGDIM::unused9, ANALYZE_HEADER_IMGDIM::verified, ANALYZE_HEADER_HISTORY::views, ANALYZE_HEADER_HISTORY::vols_added, and ANALYZE_HEADER_IMGDIM::vox_offset.

Referenced by imgWriteAnalyze(), and imgWriteAnalyzeFrame().

Here is the caller graph for this function:

Variable Documentation

◆ ANALYZE_TEST

int ANALYZE_TEST