Doxygen Source Code Documentation
mri_transpose.c File Reference
#include "mrilib.h"Go to the source code of this file.
Functions | |
| MRI_IMAGE * | mri_transpose_float (MRI_IMAGE *im) |
| MRI_IMAGE * | mri_transpose_short (MRI_IMAGE *im) |
| MRI_IMAGE * | mri_transpose_byte (MRI_IMAGE *im) |
| MRI_IMAGE * | mri_transpose_int (MRI_IMAGE *im) |
| MRI_IMAGE * | mri_transpose_complex (MRI_IMAGE *im) |
| MRI_IMAGE * | mri_transpose_rgbyte (MRI_IMAGE *im) |
| MRI_IMAGE * | mri_transpose (MRI_IMAGE *im) |
Function Documentation
|
|
Definition at line 150 of file mri_transpose.c. References MRI_IMAGE::kind, mri_transpose_byte(), mri_transpose_complex(), mri_transpose_float(), mri_transpose_int(), mri_transpose_rgbyte(), and mri_transpose_short(). Referenced by GRA_refwrite_choose_CB(), main(), mri_read_1D(), mri_read_ascii(), mri_write_1D(), read_sxyz_1D(), sdata_from_1D(), THD_load_1D(), THD_open_1D(), and UC_read_opts().
00151 {
00152 if( im == NULL ) return NULL ;
00153
00154 switch( im->kind ){
00155 case MRI_float : return mri_transpose_float (im) ;
00156 case MRI_short : return mri_transpose_short (im) ;
00157 case MRI_byte : return mri_transpose_byte (im) ;
00158 case MRI_int : return mri_transpose_int (im) ;
00159 case MRI_complex: return mri_transpose_complex(im) ;
00160 case MRI_rgb: return mri_transpose_rgbyte (im) ;
00161 }
00162 return NULL ;
00163 }
|
|
|
Definition at line 57 of file mri_transpose.c. References ENTRY, MRI_IMAGE::kind, MRI_BYTE_PTR, MRI_COPY_AUX, mri_new(), MRI_IMAGE::nx, MRI_IMAGE::ny, and RETURN. Referenced by mri_transpose().
00058 {
00059 MRI_IMAGE * om ;
00060 byte * iar , * oar ;
00061 int ii,jj,nx,ny ;
00062
00063 ENTRY("mri_transpose_byte") ;
00064
00065 if( im == NULL || im->kind != MRI_byte ) RETURN(NULL) ;
00066
00067 nx = im->nx ; ny = im->ny ;
00068 om = mri_new( ny , nx , MRI_byte ) ;
00069 iar = MRI_BYTE_PTR(im) ;
00070 oar = MRI_BYTE_PTR(om) ;
00071
00072 for( jj=0 ; jj < ny ; jj++ )
00073 for( ii=0 ; ii < nx ; ii++ )
00074 oar[jj+ii*ny] = iar[ii+jj*nx] ;
00075
00076 MRI_COPY_AUX(om,im) ;
00077 RETURN(om) ;
00078 }
|
|
|
Definition at line 103 of file mri_transpose.c. References ENTRY, MRI_IMAGE::kind, MRI_COMPLEX_PTR, MRI_COPY_AUX, mri_new(), MRI_IMAGE::nx, MRI_IMAGE::ny, and RETURN. Referenced by mri_transpose().
00104 {
00105 MRI_IMAGE * om ;
00106 complex * iar , * oar ;
00107 int ii,jj,nx,ny ;
00108
00109 ENTRY("mri_transpose_complex") ;
00110
00111 if( im == NULL || im->kind != MRI_complex ) RETURN(NULL) ;
00112
00113 nx = im->nx ; ny = im->ny ;
00114 om = mri_new( ny , nx , MRI_complex ) ;
00115 iar = MRI_COMPLEX_PTR(im) ;
00116 oar = MRI_COMPLEX_PTR(om) ;
00117
00118 for( jj=0 ; jj < ny ; jj++ )
00119 for( ii=0 ; ii < nx ; ii++ )
00120 oar[jj+ii*ny] = iar[ii+jj*nx] ;
00121
00122 MRI_COPY_AUX(om,im) ;
00123 RETURN(om) ;
00124 }
|
|
|
Only for 2D images * Definition at line 11 of file mri_transpose.c. References ENTRY, MRI_IMAGE::kind, MRI_COPY_AUX, MRI_FLOAT_PTR, mri_new(), MRI_IMAGE::nx, MRI_IMAGE::ny, and RETURN. Referenced by mri_transpose().
00012 {
00013 MRI_IMAGE * om ;
00014 float * iar , * oar ;
00015 int ii,jj,nx,ny ;
00016
00017 ENTRY("mri_transpose_float") ;
00018
00019 if( im == NULL || im->kind != MRI_float ) RETURN(NULL) ;
00020
00021 nx = im->nx ; ny = im->ny ;
00022 om = mri_new( ny , nx , MRI_float ) ;
00023 iar = MRI_FLOAT_PTR(im) ;
00024 oar = MRI_FLOAT_PTR(om) ;
00025
00026 for( jj=0 ; jj < ny ; jj++ )
00027 for( ii=0 ; ii < nx ; ii++ )
00028 oar[jj+ii*ny] = iar[ii+jj*nx] ;
00029
00030 MRI_COPY_AUX(om,im) ;
00031 RETURN(om) ;
00032 }
|
|
|
Definition at line 80 of file mri_transpose.c. References ENTRY, MRI_IMAGE::kind, MRI_COPY_AUX, MRI_INT_PTR, mri_new(), MRI_IMAGE::nx, MRI_IMAGE::ny, and RETURN. Referenced by mri_transpose().
00081 {
00082 MRI_IMAGE * om ;
00083 int * iar , * oar ;
00084 int ii,jj,nx,ny ;
00085
00086 ENTRY("mri_transpose_int") ;
00087
00088 if( im == NULL || im->kind != MRI_int ) RETURN(NULL) ;
00089
00090 nx = im->nx ; ny = im->ny ;
00091 om = mri_new( ny , nx , MRI_int ) ;
00092 iar = MRI_INT_PTR(im) ;
00093 oar = MRI_INT_PTR(om) ;
00094
00095 for( jj=0 ; jj < ny ; jj++ )
00096 for( ii=0 ; ii < nx ; ii++ )
00097 oar[jj+ii*ny] = iar[ii+jj*nx] ;
00098
00099 MRI_COPY_AUX(om,im) ;
00100 RETURN(om) ;
00101 }
|
|
|
Definition at line 126 of file mri_transpose.c. References ENTRY, MRI_IMAGE::kind, MRI_COPY_AUX, mri_new(), MRI_RGB_PTR, MRI_IMAGE::nx, MRI_IMAGE::ny, and RETURN. Referenced by mri_transpose().
00127 {
00128 MRI_IMAGE * om ;
00129 rgbyte * iar , * oar ;
00130 int ii,jj,nx,ny ;
00131
00132 ENTRY("mri_transpose_rgbyte") ;
00133
00134 if( im == NULL || im->kind != MRI_rgb ) RETURN(NULL) ;
00135
00136 nx = im->nx ; ny = im->ny ;
00137 om = mri_new( ny , nx , MRI_rgb ) ;
00138 iar = (rgbyte *) MRI_RGB_PTR(im) ;
00139 oar = (rgbyte *) MRI_RGB_PTR(om) ;
00140
00141 for( jj=0 ; jj < ny ; jj++ )
00142 for( ii=0 ; ii < nx ; ii++ )
00143 oar[jj+ii*ny] = iar[ii+jj*nx] ;
00144
00145 MRI_COPY_AUX(om,im) ;
00146 RETURN(om) ;
00147 }
|
|
|
Definition at line 34 of file mri_transpose.c. References ENTRY, MRI_IMAGE::kind, MRI_COPY_AUX, mri_new(), MRI_SHORT_PTR, MRI_IMAGE::nx, MRI_IMAGE::ny, and RETURN. Referenced by mri_transpose().
00035 {
00036 MRI_IMAGE * om ;
00037 short * iar , * oar ;
00038 int ii,jj,nx,ny ;
00039
00040 ENTRY("mri_transpose_short") ;
00041
00042 if( im == NULL || im->kind != MRI_short ) RETURN(NULL) ;
00043
00044 nx = im->nx ; ny = im->ny ;
00045 om = mri_new( ny , nx , MRI_short ) ;
00046 iar = MRI_SHORT_PTR(im) ;
00047 oar = MRI_SHORT_PTR(om) ;
00048
00049 for( jj=0 ; jj < ny ; jj++ )
00050 for( ii=0 ; ii < nx ; ii++ )
00051 oar[jj+ii*ny] = iar[ii+jj*nx] ;
00052
00053 MRI_COPY_AUX(om,im) ;
00054 RETURN(om) ;
00055 }
|