Doxygen Source Code Documentation
edt_volamax.c File Reference
#include "mrilib.h"
Go to the source code of this file.
Functions | |
float | MCW_vol_amax (int nx, int ny, int nz, int ftype, void *fim) |
Function Documentation
|
Definition at line 11 of file edt_volamax.c. References abs, CSQR, ENTRY, fim, nz, and RETURN. Referenced by EDIT_coerce_autoscale(), EDIT_coerce_autoscale_new(), main(), MAKER_4D_to_typed_fbuc(), MAKER_4D_to_typed_fim(), MAKER_4D_to_typed_fith(), mri_scalize(), POWER_main(), process_as_floats(), and s2v_nodes2volume().
00012 { 00013 register int nxyz = nx * ny * nz , ii ; 00014 00015 ENTRY("MCW_vol_amax") ; 00016 00017 if( fim == NULL ) RETURN( 0.0 ); 00018 00019 switch( ftype ){ 00020 00021 case MRI_byte:{ 00022 register byte * bfar = (byte *) fim ; 00023 register byte max , val ; 00024 max = bfar[0] ; 00025 for( ii=1 ; ii < nxyz ; ii++ ){ 00026 val = bfar[ii] ; if( val > max ) max = val ; 00027 } 00028 RETURN ((float) max) ; 00029 } 00030 break ; 00031 00032 case MRI_short:{ 00033 register short * sfar = (short *) fim ; 00034 register short max , val ; 00035 max = abs(sfar[0]) ; 00036 for( ii=1 ; ii < nxyz ; ii++ ){ 00037 val = abs(sfar[ii]) ; if( val > max ) max = val ; 00038 } 00039 RETURN ((float) max) ; 00040 } 00041 break ; 00042 00043 case MRI_float:{ 00044 register float * ffar = (float *) fim ; 00045 register float max , val ; 00046 max = fabs(ffar[0]) ; 00047 for( ii=1 ; ii < nxyz ; ii++ ){ 00048 val = fabs(ffar[ii]) ; if( val > max ) max = val ; 00049 } 00050 RETURN ((float) max) ; 00051 } 00052 break ; 00053 00054 case MRI_double:{ 00055 register double * dfar = (double *) fim ; 00056 register double max , val ; 00057 max = fabs(dfar[0]) ; 00058 for( ii=1 ; ii < nxyz ; ii++ ){ 00059 val = fabs(dfar[ii]) ; if( val > max ) max = val ; 00060 } 00061 RETURN ((float) max) ; 00062 } 00063 break ; 00064 00065 case MRI_complex:{ 00066 register complex * cfar = (complex *) fim ; 00067 register float max , val ; 00068 max = CSQR(cfar[0]) ; 00069 for( ii=1 ; ii < nxyz ; ii++ ){ 00070 val = CSQR(cfar[ii]) ; if( val > max ) max = val ; 00071 } 00072 RETURN( (float) sqrt(max) ); 00073 } 00074 break ; 00075 } 00076 RETURN( 0.0 ); 00077 } |