JunkBox_Lib 1.10.1
|
グラフィック用ファイル入出力関数ヘッダ More...
#include "gdata.h"
Go to the source code of this file.
Functions | |
int | write_wsg_file (const char *fn, WSGraph gr) |
int | write_file_rb (const char *fn, WSGraph gr, IRBound rb) |
int | write_ras_file (const char *fn, WSGraph gr) |
WSGraph | read_wsg_file (const char *fn) |
WSGraph | read_wsg_file_rb (const char *fn, IRBound *rb) |
WSGraph | read_ras_file (const char *fn) |
int | write_cmn_file (const char *fn, CmnHead *hd) |
int | write_ct_file (const char *fn, CmnHead *hd) |
int | write_ras_file_obit (const char *fn, CmnHead *hd, int obit) |
CmnHead | read_xxx_file (const char *fn) |
CmnHead | read_cmn_file (const char *fn) |
CmnHead | read_cmn_header (const char *fn) |
CmnHead | read_ras_data (FILE *fp) |
readRasData() for C++ | |
CmnHead | read_user_data (FILE *fp, CmnHead *hd) |
readUserSetData() for C++ | |
CmnHead | read_ct_data (FILE *fp) |
readCTData() for C++ | |
int | dicom_header (FILE *fp, int fsize, int *dsize, int *xsize, int *ysize, int *depth, double *rzxy) |
WSGraph | read_dicom_file (const char *fn) |
Variables | |
IRBound | ExRBound |
Definition in file gio.h.
int dicom_header | ( | FILE * | fp, |
int | fsize, | ||
int * | dsize, | ||
int * | xsize, | ||
int * | ysize, | ||
int * | depth, | ||
double * | rzxy ) |
int dicom_header(FILE* fp, int fsize, int* dsize, int* xsize, int* ysize, int* depth, double* rzxy)
DICOM型式のファイルからヘッダを読みだす.
fp | DICOM型式ファイルへのファイル識別子 | |
fsize | ファイルのサイズ. | |
[out] | dsize | グラフィックデータの大きさが格納される. |
[out] | xsize | Xサイズが格納される. |
[out] | ysize | Yサイズが格納される. |
[out] | depth | デプス(bit)が格納される. |
[out] | rzxy | Z軸の歪が格納される.0.0 なら不明. |
1以上 | 読みこんだヘッダの大きさ (Byte単位). |
0 | ヘッダの区切りを識別できなかった. |
JBXL_GRAPH_INDARG_ERROR | 不正な引数 (fp, fsize, dsize) |
JBXL_GRAPH_MEMORY_ERROR | メモリ不足 |
Definition at line 1170 of file gio.c.
References DICOM_DEPTH_ELEMENT, DICOM_IMAGE_GROUP, DICOM_INT_VR, DICOM_PIXCEL_VR, DICOM_PIXEL_ELEMENT, DICOM_PIXEL_GROUP, DICOM_PXLSPC_ELEMENT, DICOM_STR_VR, DICOM_XSIZE_ELEMENT, DICOM_YSIZE_ELEMENT, JBXL_GRAPH_IVDARG_ERROR, JBXL_GRAPH_MEMORY_ERROR, LNAME, OFF, ON, and UNUSED.
Referenced by read_dicom_file().
CmnHead read_cmn_file | ( | const char * | fn | ) |
CmnHead read_cmn_file(const char* fn)
共通ヘッダを持ったファイルの読み込み.
fn | 読み込みを行うファイル名. |
HEADER_NONE | kindメンバ: ヘッダ種別無し |
JBXL_GRAPH_OPFILE_ERROR | xsizeメンバ: ファイルオープンエラー. |
JBXL_GRAPH_MEMORY_ERROR | xsizeメンバ: メモリエラー. |
Definition at line 867 of file gio.c.
References CmnHead::bsize, CmnHead::buf, CmnHead::entry, file_size(), free_CmnHead(), CmnHead::grptr, init_CmnHead(), JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_OPFILE_ERROR, CmnHead::lsize, ntoh_st, UNUSED, and CmnHead::xsize.
CmnHead read_cmn_header | ( | const char * | fn | ) |
CmnHead read_cmn_header(const char* fn)
共通ヘッダの読み込み.データ部の読み込みは行わない.
fn | 読み込みを行うファイル名. |
HEADER_NONE | kindメンバ: ヘッダ種別無し |
JBXL_GRAPH_OPFILE_ERROR | xsizeメンバ: ファイルオープンエラー. |
JBXL_GRAPH_MEMORY_ERROR | xsizeメンバ: メモリエラー. |
Definition at line 808 of file gio.c.
References CmnHead::bsize, CmnHead::buf, CmnHead::entry, file_size(), CmnHead::grptr, init_CmnHead(), JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_OPFILE_ERROR, CmnHead::lsize, ntoh_st, UNUSED, and CmnHead::xsize.
CmnHead read_ct_data | ( | FILE * | fp | ) |
CmnHead read_ct_data(FILE* fp)
CT_DATA形式のグラフィックファイルを読み込む.
fp | 読み込むを行うファイルのファイル識別子. |
HEADER_NONE | kindメンバ: ヘッダ種別無し |
JBXL_GRAPH_MEMORY_ERROR | xsizeメンバ: メモリエラー. |
Definition at line 1098 of file gio.c.
References CmnHead::bsize, CmnHead::buf, CT_DATA, CTHead::cutdown, CTHead::cutleft, CTHead::cutright, CTHead::cutup, CmnHead::depth, free_CmnHead(), CmnHead::grptr, init_CmnHead(), JBXL_GRAPH_MEMORY_ERROR, CmnHead::kind, CmnHead::lsize, ntoh_st, UNUSED, CTHead::xsize, CmnHead::xsize, CTHead::ysize, CmnHead::ysize, and CmnHead::zsize.
Referenced by read_xxx_file().
WSGraph read_dicom_file | ( | const char * | fn | ) |
WSGraph read_dicom_file(const char* fn)
Definition at line 1322 of file gio.c.
References DEBUG_MODE, dicom_header(), file_size(), WSGraph::gp, JBXL_GRAPH_HEADER_ERROR, JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_NOFILE_ERROR, JBXL_GRAPH_OPFILE_ERROR, JBXL_NORMAL, make_WSGraph(), PRINT_MESG, set_RZxy(), WSGraph::state, unset_RZxy, and UNUSED.
CmnHead read_ras_data | ( | FILE * | fp | ) |
CmnHead read_ras_data(FILE* fp)
SUN RASTER形式のグラフィックファイルを読み込む.
fp | 読み込むを行うファイルのファイル識別子. |
HEADER_NONE | kindメンバ: ヘッダ種別無し |
JBXL_GRAPH_MEMORY_ERROR | xsizeメンバ: メモリエラー. |
Definition at line 1022 of file gio.c.
References CmnHead::bsize, CmnHead::buf, buf, CmnHead::depth, free_CmnHead(), CmnHead::grptr, init_CmnHead(), JBXL_GRAPH_MEMORY_ERROR, CmnHead::kind, CmnHead::lsize, ntoh_st, RAS_DATA, RasHead::ras_depth, RasHead::ras_height, RasHead::ras_length, RasHead::ras_maplength, RasHead::ras_width, UNUSED, CmnHead::xsize, CmnHead::ysize, and CmnHead::zsize.
Referenced by read_ras_file(), and read_xxx_file().
WSGraph read_ras_file | ( | const char * | fn | ) |
WSGraph read_ras_file(const char* fn)
SUN RASTER型グラフィックファイルを読み込む.
fn | 読み込むを行う SUN RASTERのファイル名. |
NULL | gpメンバ: エラー JBXL_GRAPH_OPFILE_ERROR stateメンバ: ファイルオープンエラー JBXL_GRAPH_MEMORY_ERROR stateメンバ: メモリエラー JBXL_GRAPH_HEADER_ERROR stateメンバ: ファイル種別を認識できない. |
Definition at line 287 of file gio.c.
References CmnHead::entry, free_CmnHead(), WSGraph::gp, CmnHead::grptr, HEADER_NONE, JBXL_GRAPH_HEADER_ERROR, JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_OPFILE_ERROR, JBXL_NORMAL, CmnHead::kind, ntoh_st, RAS_MAGIC, read_ras_data(), WSGraph::state, UNUSED, WSGraph::xs, CmnHead::xsize, WSGraph::ys, CmnHead::ysize, and WSGraph::zs.
CmnHead read_user_data(FILE* fp, CmnHead* chd)
オペレータ指定のヘッダ形式にしたがってグラフィックファイルを読み込む.
ヘッダ形式のチェック(ファイルサイズの整合性など)は行わないので, それらは呼び出し側の責任となる.
リトルエンディアン対応.
fp | 読み込むを行うファイルのファイル識別子. |
chd | 読み込むファイルのヘッダ情報を入れた CmnHead. kind, bsize, lsize 必須. |
HEADER_NONE | kindメンバ: ヘッダ種別無し |
JBXL_GRAPH_HEADER_ERROR | xsizeメンバ: オペレータ指定のヘッダがない. |
JBXL_GRAPH_MEMORY_ERROR | xsizeメンバ: メモリエラー. |
JBXL_GRAPH_CANCEL | xsizeメンバ: キャンセル. |
Definition at line 949 of file gio.c.
References CmnHead::bsize, CmnHead::buf, checkBit, CmnHead::depth, free_CmnHead(), CmnHead::grptr, HAS_LENDIAN, init_CmnHead(), is_little_endian(), JBXL_GRAPH_HEADER_ERROR, JBXL_GRAPH_MEMORY_ERROR, CmnHead::kind, CmnHead::lsize, swaps(), UNUSED, USERSET_DATA, CmnHead::xsize, CmnHead::ysize, and CmnHead::zsize.
Referenced by read_xxx_file().
WSGraph read_wsg_file | ( | const char * | fname | ) |
WSGraph read_wsg_file(const char* fname)
グラフィックファイルを読み込む.
サポートしているデータ形式は, COMMON, CT_DATA, CT_3DM, RAS_DATA, USERSET_DATA, ANY_DATA
ただし,ANY_DATAは hd->bufと hd->bsizeのみ有効.
fname | 読み込むを行うファイル名. |
NULL | gpメンバ: エラー JBXL_GRAPH_OPFILE_ERROR stateメンバ: ファイルオープンエラー JBXL_GRAPH_MEMORY_ERROR stateメンバ: メモリエラー |
Definition at line 197 of file gio.c.
References CmnHead::bsize, CmnHead::buf, checkBit, CT_DATA, CmnHead::depth, ExRBound, free_CmnHead(), WSGraph::gp, CmnHead::grptr, HAS_BASE, HAS_RBOUND, HAS_RZXY, HEADER_NONE, JBXL_GRAPH_HEADER_ERROR, JBXL_GRAPH_MEMORY_ERROR, JBXL_NORMAL, CmnHead::kind, Max, read_wsg_file_rb(), read_xxx_file(), RZXY_RATE, set_RZxy(), WSGraph::state, WSGraph::xs, CmnHead::xsize, WSGraph::ys, CmnHead::ysize, ZeroBase, WSGraph::zs, and CmnHead::zsize.
WSGraph read_wsg_file_rb(const char* fname, IRBound* rb)
境界データ付きとして,グラフィックファイルを読み込む.
サポートしているデータ形式は, COMMON, CT_DATA, CT_3DM, RAS_DATA, USERSET_DATA, ANY_DATA
ただし, ANY_DATAは hd->bufと hd->bsizeのみ有効.
fname | 読み込むを行うファイル名. |
rb | 設定しない.境界データが入る. |
NULL | gpメンバ: エラー JBXL_GRAPH_OPFILE_ERROR stateメンバ: ファイルオープンエラー JBXL_GRAPH_MEMORY_ERROR stateメンバ: メモリエラー |
Definition at line 358 of file gio.c.
References CmnHead::bsize, CmnHead::buf, checkBit, CT_DATA, CTHead::ctmax, CTHead::ctmin, CTHead::cutdown, CTHead::cutleft, CTHead::cutright, CTHead::cutup, CmnHead::depth, WSGraph::gp, CmnHead::grptr, HAS_BASE, HAS_RBOUND, HAS_RZXY, HEADER_NONE, JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_OPFILE_ERROR, JBXL_NORMAL, CmnHead::kind, Max, read_xxx_file(), RZXY_RATE, set_RZxy(), WSGraph::state, IRBound::xmax, IRBound::xmin, WSGraph::xs, CmnHead::xsize, IRBound::ymax, IRBound::ymin, WSGraph::ys, CmnHead::ysize, ZeroBase, IRBound::zmax, IRBound::zmin, WSGraph::zs, and CmnHead::zsize.
Referenced by read_wsg_file().
CmnHead read_xxx_file | ( | const char * | fn | ) |
CmnHead read_xxx_file(const char* fn)
拡張read関数.色々なグラフィックファイルを読み込む.
サポートしているデータ形式は, COMMON, CT_DATA, CT_3DM, RAS_DATA, USERSET_DATA, ANY_DATA
ただし, ANY_DATAは hd->bufと hd->bsizeのみ有効.
fn | 読み込むを行うファイル名. |
HEADER_NONE | kindメンバ: ヘッダ種別無し |
JBXL_GRAPH_OPFILE_ERROR | xsizeメンバ: ファイルオープンエラー. |
JBXL_GRAPH_MEMORY_ERROR | xsizeメンバ: メモリエラー. |
JBXL_GRAPH_HEADER_ERROR | xsizeメンバ: ヘッダエラー. |
Definition at line 722 of file gio.c.
References CmnHead::bsize, CmnHead::buf, CmnHead::depth, CmnHead::entry, file_size(), CmnHead::grptr, init_CmnHead(), JBXL_GRAPH_HEADER_ERROR, JBXL_GRAPH_OPFILE_ERROR, CmnHead::kind, CmnHead::lsize, Max, ntoh_ar, ntoh_st, NUM_KDATA, RAS_MAGIC, read_ct_data(), read_ras_data(), read_user_data(), UNUSED, CmnHead::xsize, CmnHead::ysize, and CmnHead::zsize.
Referenced by read_wsg_file(), and read_wsg_file_rb().
int write_cmn_file | ( | const char * | fn, |
CmnHead * | hd ) |
int write_cmn_file(const char* fn, CmnHead* hd)
共通ヘッダとそのデータ部をそのまま書き込む.
fn | 書き込みを行うファイル名. |
hd | データを記述した共通ヘッダ. |
0 | 正常終了. |
JBXL_GRAPH_OPFILE_ERROR | ファイルオープンエラー |
JBXL_GRAPH_MEMORY_ERROR | メモリエラー |
Definition at line 687 of file gio.c.
References CmnHead::bsize, CmnHead::buf, CmnHead::entry, CmnHead::grptr, hton_st, JBXL_GRAPH_OPFILE_ERROR, and CmnHead::lsize.
int write_ct_file | ( | const char * | fn, |
CmnHead * | hd ) |
int write_ct_file(const char* fn, CmnHead* hd)
共通画像データをファイルに保存する.
元の共通画像データのヘッダ種別が CT_DATA または UN_KNOWNの場合は CT(MOON)形式で保存する.
CT_3DM 場合はそのまま共通形式(ヘッダ種別 CT_3DM)で保存する.
ヘッダに必要な情報:
fn | 保存するファイル名. |
hd | 保存するデータを既述した共通ヘッダ. |
0 | 正常終了. |
JBXL_GRAPH_OPFILE_ERROR | ファイルオープンエラー |
JBXL_GRAPH_MEMORY_ERROR | メモリエラー |
Definition at line 583 of file gio.c.
References CTHead::anydata, CmnHead::bsize, CmnHead::buf, checkBit, chk_RZxy(), CT_3DM, CT_DATA, CTHead::ctmax, CTHead::ctmin, CTHead::cutdown, CTHead::cutleft, CTHead::cutright, CTHead::cutup, CmnHead::depth, CmnHead::entry, CmnHead::grptr, HAS_BASE, HAS_RZXY, hton_ar, hton_st, JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_OPFILE_ERROR, CmnHead::kind, CmnHead::lsize, Max, RZxy, RZXY_RATE, CTHead::xsize, CmnHead::xsize, CTHead::ysize, CmnHead::ysize, ZeroBase, and CmnHead::zsize.
Referenced by write_file_rb(), and write_wsg_file().
int write_file_rb(const char* fname, WSGraph gr, IRBound rb)
グラフィックデータgrを 境界データ付き CTファイルとして書き出す.
*fname | 保存する際のファイル名. |
gr | 保存するグラフィックデータ. |
rb | 保存する境界データ. |
0 | 正常終了. |
JBXL_GRAPH_OPFILE_ERROR | ファイルオープンエラー |
JBXL_GRAPH_MEMORY_ERROR | メモリエラー |
Definition at line 128 of file gio.c.
References CTHead::anydata, CmnHead::bsize, CmnHead::buf, chk_RZxy(), CT_3DM, CT_DATA, CTHead::ctmax, CTHead::ctmin, CTHead::cutdown, CTHead::cutleft, CTHead::cutright, CTHead::cutup, CmnHead::depth, WSGraph::gp, CmnHead::grptr, HAS_BASE, HAS_RBOUND, HAS_RZXY, init_CmnHead(), JBXL_GRAPH_MEMORY_ERROR, CmnHead::kind, CmnHead::lsize, RZxy, RZXY_RATE, write_ct_file(), IRBound::xmax, IRBound::xmin, WSGraph::xs, CmnHead::xsize, IRBound::ymax, IRBound::ymin, WSGraph::ys, CmnHead::ysize, ZeroBase, IRBound::zmax, IRBound::zmin, WSGraph::zs, and CmnHead::zsize.
int write_ras_file | ( | const char * | fname, |
WSGraph | gr ) |
int write_ras_file(const char* fname, WSGraph gr)
グラフィックデータ grを SUN RASTER形式でファイルに書き出す.モノクロ, 256階調.
fname | 保存する際のファイル名. |
gr | 保存するグラフィックデータ. |
0 | 正常終了. |
JBXL_GRAPH_OPFILE_ERROR | ファイルオープンエラー |
JBXL_GRAPH_MEMORY_ERROR | メモリエラー |
Definition at line 77 of file gio.c.
References CmnHead::bsize, CmnHead::buf, CT_DATA, CmnHead::depth, WSGraph::gp, CmnHead::grptr, init_CmnHead(), JBXL_GRAPH_HEADER_ERROR, JBXL_GRAPH_MEMORY_ERROR, CmnHead::kind, CmnHead::lsize, Max, write_ras_file_obit(), WSGraph::xs, CmnHead::xsize, WSGraph::ys, CmnHead::ysize, WSGraph::zs, and CmnHead::zsize.
int write_ras_file_obit | ( | const char * | fn, |
CmnHead * | hd, | ||
int | obit ) |
int write_ras_file_obit(const char* fn, CmnHead* hd, int obit)
色々な画像データをSUN RASTER型式でファイルに保存する.
fn | 保存するファイル名. |
hd | 保存するデータを既述した共通ヘッダ. |
obit | SUN RASTERの 1ピクセルのビット数(8, 24をサポート). |
0 | 正常終了. |
JBXL_GRAPH_OPFILE_ERROR | ファイルオープンエラー |
JBXL_GRAPH_MEMORY_ERROR | メモリエラー |
Definition at line 457 of file gio.c.
References CmnHead::bsize, CmnHead::buf, buf, CmnHead::depth, CmnHead::grptr, hton_st, JBXL_GRAPH_MEMORY_ERROR, JBXL_GRAPH_OPFILE_ERROR, CmnHead::kind, CmnHead::lsize, Max, RAS_DATA, RasHead::ras_depth, RasHead::ras_height, RasHead::ras_length, RasHead::ras_magic, RAS_MAGIC, RasHead::ras_maplength, RasHead::ras_maptype, RasHead::ras_type, RasHead::ras_width, RMT_NONE, RT_STANDARD, Xabs, CmnHead::xsize, and CmnHead::ysize.
Referenced by write_ras_file().
int write_wsg_file | ( | const char * | fname, |
WSGraph | gr ) |
int write_wsg_file(const char* fname, WSGraph gr)
グラフィックデータgrを CTファイルとして書き出す.
*fname | 保存する際のファイル名. |
gr | 保存するグラフィックデータ. |
0 | 正常終了. |
JBXL_GRAPH_OPFILE_ERROR | ファイルオープンエラー |
JBXL_GRAPH_MEMORY_ERROR | メモリエラー |
Definition at line 34 of file gio.c.
References CmnHead::bsize, CmnHead::buf, CT_3DM, CT_DATA, CmnHead::depth, WSGraph::gp, CmnHead::grptr, JBXL_GRAPH_MEMORY_ERROR, CmnHead::kind, CmnHead::lsize, write_ct_file(), WSGraph::xs, CmnHead::xsize, WSGraph::ys, CmnHead::ysize, WSGraph::zs, and CmnHead::zsize.
Referenced by write_img().
|
extern |
Definition at line 13 of file gio.c.
Referenced by read_wsg_file().