Doxygen Source Code Documentation
thd_median.c File Reference
#include "mrilib.h"
Go to the source code of this file.
Functions | |
MRI_IMAGE * | THD_median_brick (THD_3dim_dataset *dset) |
MRI_IMAGE * | THD_mean_brick (THD_3dim_dataset *dset) |
MRI_IMAGE * | THD_rms_brick (THD_3dim_dataset *dset) |
Function Documentation
|
Compute mean brick of a dataset. [15 Apr 2005 - RWCox] ------------------------------------------------------------------- Definition at line 47 of file thd_median.c. References calloc, DSET_BRICK, DSET_BRICK_FACTOR, DSET_load, DSET_LOADED, DSET_NVALS, DSET_NVOX, ENTRY, free, ISVALID_DSET, MRI_FLOAT_PTR, mri_new_conforming, mri_scale_to_float(), RETURN, and THD_extract_array().
00048 { 00049 int nvox , nvals , ii , jj ; 00050 MRI_IMAGE *tsim , *medim ; 00051 float *medar , sum,fac ; 00052 float *tsar ; 00053 00054 ENTRY("THD_mean_brick") ; 00055 00056 if( !ISVALID_DSET(dset) ) RETURN(NULL) ; 00057 DSET_load(dset) ; 00058 if( !DSET_LOADED(dset) ) RETURN(NULL) ; 00059 00060 nvals = DSET_NVALS(dset) ; fac = 1.0 / nvals ; 00061 tsim = DSET_BRICK(dset,0) ; 00062 00063 if( nvals == 1 ){ 00064 medim = mri_scale_to_float( DSET_BRICK_FACTOR(dset,0), tsim ) ; 00065 RETURN(medim) ; 00066 } 00067 00068 medim = mri_new_conforming( tsim , MRI_float ) ; 00069 medar = MRI_FLOAT_PTR(medim) ; 00070 nvox = DSET_NVOX(dset) ; 00071 00072 tsar = (float *) calloc( sizeof(float),nvals+1 ) ; 00073 for( ii=0 ; ii < nvox ; ii++ ){ 00074 THD_extract_array( ii , dset , 0 , tsar ) ; 00075 for( sum=0.0,jj=0 ; jj < nvals ; jj++ ) sum += tsar[jj] ; 00076 medar[ii] = fac * sum ; 00077 } 00078 00079 free(tsar) ; RETURN(medim) ; 00080 } |
|
Compute median brick of a dataset - 12 Aug 2001
Definition at line 9 of file thd_median.c. References calloc, DSET_BRICK, DSET_BRICK_FACTOR, DSET_load, DSET_LOADED, DSET_NVALS, DSET_NVOX, ENTRY, free, ISVALID_DSET, MRI_FLOAT_PTR, mri_new_conforming, mri_scale_to_float(), qmed_float(), RETURN, and THD_extract_array(). Referenced by main(), THD_autobbox(), THD_automask(), and THD_outlier_count().
00010 { 00011 int nvox , nvals , ii ; 00012 MRI_IMAGE *tsim , *medim ; 00013 float *medar ; 00014 float *tsar ; /* 05 Nov 2001 */ 00015 00016 ENTRY("THD_median_brick") ; 00017 00018 if( !ISVALID_DSET(dset) ) RETURN(NULL) ; 00019 DSET_load(dset) ; 00020 if( !DSET_LOADED(dset) ) RETURN(NULL) ; 00021 00022 nvals = DSET_NVALS(dset) ; 00023 tsim = DSET_BRICK(dset,0) ; 00024 00025 if( nvals == 1 ){ 00026 medim = mri_scale_to_float( DSET_BRICK_FACTOR(dset,0), tsim ) ; 00027 RETURN(medim) ; 00028 } 00029 00030 medim = mri_new_conforming( tsim , MRI_float ) ; 00031 medar = MRI_FLOAT_PTR(medim) ; 00032 nvox = DSET_NVOX(dset) ; 00033 00034 tsar = (float *) calloc( sizeof(float),nvals+1 ) ; /* 05 Nov 2001 */ 00035 for( ii=0 ; ii < nvox ; ii++ ){ 00036 THD_extract_array( ii , dset , 0 , tsar ) ; /* 05 Nov 2001 */ 00037 medar[ii] = qmed_float( nvals , tsar ) ; 00038 } 00039 00040 free(tsar) ; RETURN(medim) ; 00041 } |
|
Compute RMS brick of a dataset. [15 Apr 2005 - RWCox] ------------------------------------------------------------------- Definition at line 86 of file thd_median.c. References calloc, DSET_BRICK, DSET_BRICK_FACTOR, DSET_load, DSET_LOADED, DSET_NVALS, DSET_NVOX, ENTRY, free, ISVALID_DSET, MRI_FLOAT_PTR, mri_new_conforming, mri_scale_to_float(), RETURN, and THD_extract_array(). Referenced by read_input_data().
00087 { 00088 int nvox , nvals , ii , jj ; 00089 MRI_IMAGE *tsim , *medim ; 00090 float *medar , sum,fac ; 00091 float *tsar ; 00092 00093 ENTRY("THD_rms_brick") ; 00094 00095 if( !ISVALID_DSET(dset) ) RETURN(NULL) ; 00096 DSET_load(dset) ; 00097 if( !DSET_LOADED(dset) ) RETURN(NULL) ; 00098 00099 nvals = DSET_NVALS(dset) ; fac = 1.0 / nvals ; 00100 tsim = DSET_BRICK(dset,0) ; 00101 00102 if( nvals == 1 ){ 00103 medim = mri_scale_to_float( DSET_BRICK_FACTOR(dset,0), tsim ) ; 00104 RETURN(medim) ; 00105 } 00106 00107 medim = mri_new_conforming( tsim , MRI_float ) ; 00108 medar = MRI_FLOAT_PTR(medim) ; 00109 nvox = DSET_NVOX(dset) ; 00110 00111 tsar = (float *) calloc( sizeof(float),nvals+1 ) ; 00112 for( ii=0 ; ii < nvox ; ii++ ){ 00113 THD_extract_array( ii , dset , 0 , tsar ) ; 00114 for( sum=0.0,jj=0 ; jj < nvals ; jj++ ) sum += tsar[jj]*tsar[jj] ; 00115 medar[ii] = sqrt(fac * sum) ; 00116 } 00117 00118 free(tsar) ; RETURN(medim) ; 00119 } |