1 #include "mrilib.h"
2
3 /*-------------------------------------------------------------------*/
4 /*! Make a warp-on-demand "duplicate" of a dataset.
5 ---------------------------------------------------------------------*/
6
EDIT_wod_copy(THD_3dim_dataset * dset_in)7 THD_3dim_dataset * EDIT_wod_copy( THD_3dim_dataset *dset_in )
8 {
9 THD_3dim_dataset *dset_out ;
10 THD_warp * warp ;
11
12 ENTRY("EDIT_wod_copy") ;
13
14 if( !ISVALID_DSET(dset_in) ) RETURN(NULL) ;
15
16 /*** copy header info ***/
17
18 dset_out = EDIT_empty_copy( dset_in ) ;
19 if( !ISVALID_3DIM_DATASET(dset_out) ) RETURN(NULL) ;
20
21 warp = myRwcNew( THD_warp ) ; *warp = IDENTITY_WARP ;
22
23 EDIT_dset_items( dset_out ,
24 ADN_prefix , "dup" ,
25 ADN_type , HEAD_ANAT_TYPE ,
26 ADN_func_type , ANAT_BUCK_TYPE ,
27 ADN_warp , warp ,
28 ADN_warp_parent , dset_in ,
29 ADN_none ) ;
30
31 dset_out->dblk->diskptr->storage_mode = STORAGE_UNDEFINED ;
32 dset_out->dblk->malloc_type = DATABLOCK_MEM_UNDEFINED ;
33
34 RETURN(dset_out) ;
35 }
36