Data Structures | Defines | 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

Defines

#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

Define Documentation

#define ANALYZE_DT_ALL   255

Definition at line 39 of file analyze.h.

#define ANALYZE_DT_BINARY   1

Definition at line 31 of file analyze.h.

#define ANALYZE_DT_COMPLEX   32

Definition at line 36 of file analyze.h.

Referenced by anaReadImagedata().

#define ANALYZE_DT_DOUBLE   64

Definition at line 37 of file analyze.h.

Referenced by anaReadImagedata().

#define ANALYZE_DT_FLOAT   16

Definition at line 35 of file analyze.h.

Referenced by anaReadImagedata().

#define ANALYZE_DT_NONE   0

Definition at line 29 of file analyze.h.

#define ANALYZE_DT_RGB   128

Definition at line 38 of file analyze.h.

#define ANALYZE_DT_SIGNED_INT   8

Definition at line 34 of file analyze.h.

Referenced by anaReadImagedata().

#define ANALYZE_DT_SIGNED_SHORT   4

Definition at line 33 of file analyze.h.

Referenced by anaReadImagedata(), imgSetAnalyzeHeader(), and imgWriteAnalyze().

#define ANALYZE_DT_UNKNOWN   0

Definition at line 30 of file analyze.h.

#define ANALYZE_DT_UNSIGNED_CHAR   2

Definition at line 32 of file analyze.h.

Referenced by anaReadImagedata().

#define ANALYZE_FLIP_DEFAULT   1

Definition at line 26 of file analyze.h.

Referenced by anaFlipping().

#define ANALYZE_HEADER_HISTORY_SIZE   200

Definition at line 24 of file analyze.h.

Referenced by anaReadHeader(), and anaWriteHeader().

#define ANALYZE_HEADER_IMGDIM_SIZE   108

Definition at line 23 of file analyze.h.

Referenced by anaReadHeader(), and anaWriteHeader().

#define ANALYZE_HEADER_KEY_SIZE   40

Definition at line 22 of file analyze.h.

Referenced by anaReadHeader(), and anaWriteHeader().


Function Documentation

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:

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().

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().

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().

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().

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().

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().

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:

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().

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().


Variable Documentation