#include "mrilib.h"
/*--------------------------------------------------------------------------*/
char *AFD_manufacturer_code_to_string( int code )
{
static char *manf[] = {
"UNKNOWN" ,
"Siemens" , "GE" , "Philips" ,
"Toshiba" , "Fonar" , "Hitachi" ,
"Magnaserv" , "Odin" , "ONI" ,
"Bruker" , "Varian"
} ;
code = code - AFD_MAN_OFFSET ;
if( code <= 0 || code >= sizeof(manf)/sizeof(char *) ) return manf[0] ;
return manf[code] ;
}
/*--------------------------------------------------------------------------*/
#undef FREEIF
#define FREEIF(x) if((x)!=NULL)free((void *)(x))
void AFD_siemens_info_free( void *aei )
{
AFD_siemens_info *asi = (AFD_siemens_info *)aei ;
if( asi == NULL ) return ;
FREEIF(asi->position_sag) ; FREEIF(asi->position_cor) ;
FREEIF(asi->position_tra) ; FREEIF(asi->normal_sag) ;
FREEIF(asi->normal_cor) ; FREEIF(asi->normal_tra) ;
FREEIF(asi->inplane_rot) ;
free((void *)asi) ; return ;
}
/*--------------------------------------------------------------------------*/
void AFD_dicom_header_free( AFD_dicom_header *adh )
{
if( adh == NULL ) return ;
if( adh->filename != NULL ) free((void *)adh->filename) ;
if( adh->extra_info != NULL ){
int *eit = (int *)adh->extra_info ;
if( *eit == AFD_EIT_SIEMENS ){
AFD_siemens_info_free( adh->extra_info ) ;
} else {
WARNING_message("Unknown DICOM extra_info type=%d\n",*eit) ;
}
}
free((void *)adh) ; return ;
}
syntax highlighted by Code2HTML, v. 0.9.1