Doxygen Source Code Documentation
bseq.c File Reference
#include "mrilib.h"Go to the source code of this file.
Data Structures | |
| struct | SEQ |
Defines | |
| #define | NMAX 48 |
Functions | |
| SEQ * | expand_rle (char *str) |
| int | main (int argc, char *argv[]) |
Variables | |
| char * | srle [NMAX+1] |
Define Documentation
|
|
|
Function Documentation
|
|
Definition at line 61 of file bseq.c. References malloc, SEQ::num, and SEQ::ss. Referenced by main().
00062 {
00063 SEQ * seq ;
00064 int * ss , ii , jj , vv ;
00065 char * cpt ;
00066
00067 if( str == NULL ) return NULL ;
00068 for( ii=0,cpt=str ; *cpt != '\0' ; cpt++ )
00069 ii += (*cpt - '0') ;
00070
00071 seq = (SEQ *) malloc( sizeof(SEQ) ) ;
00072 seq->ss = ss = (int *) malloc( sizeof(int) * ii ) ;
00073 seq->num = ii ;
00074
00075 for( vv=1,ii=0,cpt=str ; *cpt != '\0' ; cpt++ ){
00076 jj = (*cpt - '0') ;
00077 for( jj=0 ; jj < (*cpt - '0') ; jj++ ) ss[ii++] = vv ;
00078 vv = -vv ;
00079 }
00080
00081 return seq ;
00082 }
|
|
||||||||||||
|
convert DTIStudio fiber format data to SUMA segment data Definition at line 84 of file bseq.c. References argc, expand_rle(), SEQ::num, srle, and SEQ::ss.
00085 {
00086 int ir , ii , num , sum , jj ;
00087 SEQ * seq ;
00088 int * ss ;
00089
00090 if( argc < 2 || strcmp(argv[1],"-help") == 0 ) exit(0) ;
00091
00092 ir = strtol( argv[1] , NULL , 10 ) ; if( ir < 3 ) exit(1) ;
00093
00094 seq = expand_rle( srle[ir] ) ;
00095
00096 printf("num = %d\n",seq->num) ;
00097 for( ii=0 ; ii < seq->num ; ii++ )
00098 printf(" %d",seq->ss[ii]) ;
00099 printf("\n") ;
00100
00101 num = seq->num ; ss = seq->ss ;
00102 for( ii=0 ; ii < num-1 ; ii++ ){
00103 sum = 0 ;
00104 for( jj=0 ; jj < num-ii ; jj++ )
00105 sum += ss[jj] * ss[jj+ii] ;
00106 printf(" %d",sum) ;
00107 }
00108 printf("\n") ;
00109
00110 exit(0) ;
00111 }
|
Variable Documentation
|
|
Definition at line 4 of file bseq.c. Referenced by main(). |