Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

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

#define VARIOUS_CONSTANTS   2
 

Definition at line 6 of file thd_niftiwrite.h.


Function Documentation

nifti_image* populate_nifti_image THD_3dim_dataset   dset,
niftiwr_opts_t    options
 

Referenced by THD_write_nifti().

int THD_write_nifti THD_3dim_dataset   dset,
niftiwr_opts_t    options
 

Write an AFNI dataset as a NIFTI file.

  • fname = NIFTI filename
  • dset = AFNI dataset
  • flags = logical OR of various masks:
Return value is 1 if went OK, 0 if not. -------------------------------------------------------------------

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 }
 

Powered by Plone

This site conforms to the following standards: