Doxygen Source Code Documentation
thd_niftiwrite.h File Reference
#include "nifti1_io.h"
Go to the source code of this file.
Data Structures | |
struct | niftiwr_opts_t |
Defines | |
#define | VARIOUS_CONSTANTS 2 |
Functions | |
nifti_image * | populate_nifti_image (THD_3dim_dataset *dset, niftiwr_opts_t options) |
int | THD_write_nifti (THD_3dim_dataset *dset, niftiwr_opts_t options) |
Define Documentation
|
Definition at line 6 of file thd_niftiwrite.h. |
Function Documentation
|
Referenced by THD_write_nifti(). |
|
Write an AFNI dataset as a NIFTI file.
Definition at line 19 of file thd_niftiwrite.c. References niftiwr_opts_t::debug_level, DSET_ARRAY, DSET_BRICK_BYTES, DSET_load, DSET_LOADED, DSET_NVALS, ENTRY, niftiwr_opts_t::infile_name, ISVALID_DSET, malloc, nifti_set_afni_extension(), populate_nifti_image(), RETURN, and THD_filename_ok(). Referenced by main(), and THD_write_3dim_dataset().
00020 { 00021 nifti_image * nim ; 00022 nifti_brick_list nbl ; 00023 int ii ; 00024 char * fname ; 00025 00026 ENTRY("THD_write_nifti") ; 00027 00028 nifti_set_debug_level(options.debug_level) ; 00029 00030 /*-- check inputs for goodness --*/ 00031 00032 fname = nifti_strdup(options.infile_name ); 00033 00034 if( !THD_filename_ok(fname) || fname[0] == '-' ){ 00035 fprintf(stderr,"** ERROR: Illegal filename for NIFTI output: %s\n", 00036 (fname != NULL) ? fname : "(null)" ) ; 00037 RETURN(0) ; 00038 } 00039 00040 if( !ISVALID_DSET(dset) ){ 00041 fprintf(stderr, 00042 "** ERROR: Illegal input dataset for NIFTI output: %s\n", 00043 fname ) ; 00044 RETURN(0) ; 00045 } 00046 00047 /*-- load dataset from disk, if need be --*/ 00048 00049 DSET_load(dset) ; 00050 if( !DSET_LOADED(dset) ){ 00051 fprintf(stderr, 00052 "** ERROR: Can't write NIFTI file since dataset isn't loaded: %s\n", fname) ; 00053 RETURN(0) ; 00054 } 00055 00056 nim = populate_nifti_image(dset,options) ; 00057 00058 /*-- construct filename --*/ 00059 00060 nim->fname = malloc( strlen(fname)+16 ) ; 00061 nim->iname = malloc( strlen(fname)+16 ) ; 00062 strcpy(nim->fname,fname) ; 00063 strcpy(nim->iname,fname) ; 00064 00065 /*-- construct nifti_brick_list of pointers to data briks */ 00066 00067 if( options.debug_level > 2 ) nifti_image_infodump(nim) ; 00068 nbl.bricks = (void **) malloc ( DSET_NVALS(dset) * sizeof(void*) ) ; 00069 nbl.nbricks = DSET_NVALS(dset) ; 00070 nbl.bsize = DSET_BRICK_BYTES(dset,0) ; 00071 for (ii = 0 ; ii < DSET_NVALS(dset) ; ii++ ) { 00072 nbl.bricks[ii] = DSET_ARRAY(dset,ii) ; 00073 } 00074 00075 /*-- use handy-dandy library function to write out data */ 00076 00077 nifti_set_afni_extension( dset , nim ) ; /* 09 May 2005 - RWCox */ 00078 00079 nifti_image_write_bricks (nim, &nbl ) ; 00080 RETURN(1) ; 00081 } |