Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

mri_to_rgba.c

Go to the documentation of this file.
00001 #include "mrilib.h"
00002 
00003 /*** 7D SAFE [some of it] ***/
00004 
00005 MRI_IMAGE *mri_to_rgba( MRI_IMAGE *oldim )  /* 11 Feb 1999 */
00006 {
00007    MRI_IMAGE *newim ;
00008    register int ii , npix ;
00009    register rgba * oar ;
00010 
00011 ENTRY("mri_to_rgba") ;
00012 
00013    if( oldim == NULL ) RETURN( NULL );
00014 
00015    newim = mri_new_conforming( oldim , MRI_rgba ) ; oar = MRI_RGBA_PTR(newim) ;
00016    npix  = oldim->nvox ;
00017 
00018    switch( oldim->kind ){
00019 
00020       case MRI_byte:
00021         for( ii=0 ; ii < npix ; ii++ ){
00022           oar[ii].r = oar[ii].g = oar[ii].b = oldim->im.byte_data[ii] ;
00023           oar[ii].a = 255 ;
00024         }
00025       break ;
00026 
00027       case MRI_float:
00028         for( ii=0 ; ii < npix ; ii++ ){
00029           oar[ii].r = oar[ii].g = oar[ii].b = oldim->im.float_data[ii] ;
00030           oar[ii].a = 255 ;
00031         }
00032       break ;
00033 
00034       case MRI_short:
00035         for( ii=0 ; ii < npix ; ii++ ){
00036           oar[ii].r = oar[ii].g = oar[ii].b = oldim->im.short_data[ii] ;
00037           oar[ii].a = 255 ;
00038         }
00039       break ;
00040 
00041       case MRI_rgb:
00042         for( ii=0 ; ii < npix ; ii++ ){
00043           oar[ii].r = oldim->im.rgb_data[3*ii] ;
00044           oar[ii].g = oldim->im.rgb_data[3*ii+1] ;
00045           oar[ii].b = oldim->im.rgb_data[3*ii+2] ;
00046           oar[ii].a = 255 ;
00047         }
00048       break ;
00049 
00050       case MRI_rgba:
00051         memcpy( oar , oldim->im.rgba_data , sizeof(rgba)*npix ) ;
00052       break ;
00053 
00054       default:
00055          fprintf(stderr,"mri_to_rgb:  unrecognized image conversion %d\n",oldim->kind) ;
00056          RETURN( NULL );
00057    }
00058 
00059    MRI_COPY_AUX(newim,oldim) ;
00060    RETURN( newim );
00061 }
 

Powered by Plone

This site conforms to the following standards: