00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #if !defined(XSH_DATA_IMAGE_3D_H)
00027 #define XSH_DATA_IMAGE_3D_H
00028
00029 #include <xsh_data_instrument.h>
00030
00031 #include <cpl.h>
00032 #include <xsh_error.h>
00033
00034
00035 typedef struct {
00036 int nx, ny, nz ;
00037
00038 cpl_type type ;
00039
00040 void * pixels ;
00041
00042 } xsh_image_3d ;
00043
00044
00045 xsh_image_3d * xsh_image_3d_new( int nx, int ny, int nz, cpl_type type ) ;
00046 xsh_image_3d * xsh_image_3d_load( const char * filename, cpl_type type,
00047 int xtnum ) ;
00048
00049 cpl_error_code xsh_image_3d_insert( xsh_image_3d * img_3d, cpl_image * img,
00050 int iz ) ;
00051 cpl_error_code xsh_image_3d_save( xsh_image_3d * img_3d,
00052 const char * fname,
00053 cpl_propertylist * header,
00054 unsigned mode ) ;
00055 void xsh_image_3d_free( xsh_image_3d ** img_3d ) ;
00056
00057 void * xsh_image_3d_get_data( xsh_image_3d * img_3d ) ;
00058 int xsh_image_3d_get_size_x( xsh_image_3d * img_3d ) ;
00059 int xsh_image_3d_get_size_y( xsh_image_3d * img_3d ) ;
00060 int xsh_image_3d_get_size_z( xsh_image_3d * img_3d ) ;
00061 cpl_type xsh_image_3d_get_type( xsh_image_3d * img_3d ) ;
00062
00063 #endif