NEP 4.0.0
NetCDF Expansion Pack
Loading...
Searching...
No Matches
dicomdispatch.h
Go to the documentation of this file.
1
9#ifndef _DICOMDISPATCH_H
10#define _DICOMDISPATCH_H
11
12#include "config.h"
13#include "ncdispatch.h"
14#include "nep.h"
15
16/* Include libdicom header if available */
17#ifdef HAVE_DICOM
18#include <dicom/dicom.h>
19#endif
20
22#ifdef NC_FORMATX_UDF6
23#define NC_FORMATX_NC_DICOM NC_FORMATX_UDF6
24#else
25#define NC_FORMATX_NC_DICOM NC_FORMATX_UDF0
26#endif
27
29#define DICOM_MAGIC_LEN 4
30
36
38typedef struct NC_DICOM_FILE_INFO
39{
40#ifdef HAVE_DICOM
41 DcmFilehandle *filehandle;
42 const DcmDataSet *metadata;
43#endif
44 char *path;
48 int nframes;
49 size_t rows;
50 size_t columns;
57 nc_type xtype;
58 size_t type_size;
65
66#if defined(__cplusplus)
67extern "C" {
68#endif
69
70 extern int
71 NC_DICOM_open(const char *path, int mode, int basepe, size_t *chunksizehintp,
72 void *parameters, const NC_Dispatch *, int);
73
74 extern int
75 NC_DICOM_abort(int ncid);
76
77 extern int
78 NC_DICOM_close(int ncid, void *ignore);
79
80 extern int
81 NC_DICOM_inq_format(int ncid, int *formatp);
82
83 extern int
84 NC_DICOM_inq_format_extended(int ncid, int *formatp, int *modep);
85
86 extern int
87 NC_DICOM_get_vara(int ncid, int varid, const size_t *start, const size_t *count,
88 void *value, nc_type);
89
90 extern NC_Dispatch*
92
93 extern int
95
96#define DICOM_INIT_OK() (NC_DICOM_initialize() != NULL)
97#define DICOM_INIT_AND_ASSIGN(ret) do { \
98 (ret) = (NC_DICOM_initialize() != NULL) ? NC_NOERR : NC_EINVAL; \
99 } while(0)
100
101 extern const NC_Dispatch *DICOM_dispatch_table;
102
103#if defined(__cplusplus)
104}
105#endif
106
107#endif /* _DICOMDISPATCH_H */
NC_Dispatch * NC_DICOM_initialize(void)
struct NC_DICOM_VAR_INFO NC_DICOM_VAR_INFO_T
int NC_DICOM_get_vara(int ncid, int varid, const size_t *start, const size_t *count, void *value, nc_type)
const NC_Dispatch * DICOM_dispatch_table
int NC_DICOM_inq_format_extended(int ncid, int *formatp, int *modep)
int NC_DICOM_abort(int ncid)
int NC_DICOM_close(int ncid, void *ignore)
struct NC_DICOM_FILE_INFO NC_DICOM_FILE_INFO_T
int NC_DICOM_inq_format(int ncid, int *formatp)
int NC_DICOM_open(const char *path, int mode, int basepe, size_t *chunksizehintp, void *parameters, const NC_Dispatch *, int)
int NC_DICOM_finalize(void)
NetCDF Expansion Pack (NEP) - Public API.
Definition dicomdispatch.h:39
int high_bit
Definition dicomdispatch.h:54
nc_type xtype
Definition dicomdispatch.h:57
size_t rows
Definition dicomdispatch.h:49
int bits_allocated
Definition dicomdispatch.h:52
int row_dim_index
Definition dicomdispatch.h:60
int nframes
Definition dicomdispatch.h:48
int color_dim_index
Definition dicomdispatch.h:63
size_t type_size
Definition dicomdispatch.h:58
int frame_dim_index
Definition dicomdispatch.h:59
int pixel_representation
Definition dicomdispatch.h:55
size_t columns
Definition dicomdispatch.h:50
int encapsulated
Definition dicomdispatch.h:46
char * path
Definition dicomdispatch.h:44
char * transfer_syntax_uid
Definition dicomdispatch.h:45
int planar_configuration
Definition dicomdispatch.h:56
int bits_stored
Definition dicomdispatch.h:53
int sample_dim_index
Definition dicomdispatch.h:62
int col_dim_index
Definition dicomdispatch.h:61
int jpeg_lossless
Definition dicomdispatch.h:47
int samples_per_pixel
Definition dicomdispatch.h:51
Definition dicomdispatch.h:33
int frame_index
Definition dicomdispatch.h:34