#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include "swap.h"
#include "substitutions.h"
#include "include/analyze.h"
Go to the source code of this file.
Functions | |
int | anaExists (const char *dbname) |
int | anaReadHeader (char *filename, ANALYZE_DSR *h) |
int | anaWriteHeader (char *filename, ANALYZE_DSR *h) |
int | anaPrintHeader (ANALYZE_DSR *h, FILE *fp) |
int | anaReadImagedata (FILE *fp, ANALYZE_DSR *h, int frame, float *data) |
int | anaFlipping () |
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 anaDatabaseExists | ( | const char * | dbname, |
char * | hdrfile, | ||
char * | imgfile, | ||
char * | siffile | ||
) |
Check if Analyze database files exist (*.hdr, *.img, and optionally *.sif).
dbname | analyze database name that is tested. String may contain standard extensions .hdr, .img or .sif. |
hdrfile | pointer to an allocated string, where existing header filename is written. If not found, then set to "". NULL can be entered, if not needed. |
imgfile | pointer to an allocated string, where existing image filename is written. If not found, then set to "". NULL can be entered, if not needed. |
siffile | pointer to an allocated string, where existing sif filename is written. If not found, then set to "". NULL can be entered, if not needed. |
Definition at line 619 of file analyze.c.
References ANALYZE_TEST, anaMakeSIFName(), and anaRemoveFNameExtension().
Referenced by anaRemove(), imgReadAnalyzeFrame(), imgReadAnalyzeHeader(), imgReadHeader(), and imgWriteAnalyzeFrame().
int anaExists | ( | const char * | dbname | ) |
Check if Analyze files exist.
dbname | basename of Analyze7.5 file. |
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)
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.
dbname | analyze 7.5 database name (including possible path but not extension |
siffile | pointer to allocated space for SIF filename |
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.
h | analyze header stucture |
fp | file pointer |
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.
filename | name of file to read (including path and extension) |
h | Pointer to previously allocated header structure |
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!
fp | file opened previously in binary mode |
h | analyze header read previously |
frame | frame number to read [1..number of frames] |
data | pointer 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.
Definition at line 576 of file analyze.c.
References anaDatabaseExists(), and ANALYZE_TEST.
void anaRemoveFNameExtension | ( | char * | fname | ) |
Check if Analyze 7.5 filename was given accidentally with extension. Remove the extension if necessary
fname | full 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.
filename | name of file to read (including path and extension) |
h | pointer to Analyze header structure |
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().