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  

thd_tmask.c File Reference

#include "mrilib.h"

Go to the source code of this file.


Functions

void free_Tmask (Tmask *tm)
Tmaskcreate_Tmask_byte (int nx, int ny, int nz, byte *vol)
Tmaskcreate_Tmask_rgba (int nx, int ny, int nz, rgba *vol)

Function Documentation

Tmask* create_Tmask_byte int    nx,
int    ny,
int    nz,
byte   vol
 

Definition at line 23 of file thd_tmask.c.

References calloc, malloc, Tmask::mask, Tmask::nmask, nz, TM_IXY, TM_IYZ, and TM_IZX.

Referenced by CREN_render().

00024 {
00025    Tmask * tm ;
00026    int ii,jj,kk,vv , nxy,nyz,nzx ;
00027    byte * bz , *xym,*yzm,*zxm , *bxy,*byz,*bzx ;
00028 
00029    tm = (Tmask *) malloc(sizeof(Tmask)) ;
00030    tm->nmask[TM_IXY] = nxy = nx*ny ;
00031    tm->nmask[TM_IYZ] = nyz = ny*nz ;
00032    tm->nmask[TM_IZX] = nzx = nz*nx ;
00033 
00034    tm->mask[TM_IXY] = xym = (byte *) calloc(1,sizeof(byte)*nxy) ;
00035    tm->mask[TM_IYZ] = yzm = (byte *) calloc(1,sizeof(byte)*nyz) ;
00036    tm->mask[TM_IZX] = zxm = (byte *) calloc(1,sizeof(byte)*nzx) ;
00037 
00038    for( byz=yzm,kk=0 ; kk < nz ; kk++,byz+=ny ){
00039       bz = vol + kk*nxy ;
00040       for( bxy=xym,jj=0 ; jj < ny ; jj++,bz+=nx,bxy+=nx ){
00041          for( bzx=zxm,ii=0 ; ii < nx ; ii++,bzx+=nz ){
00042             if( bz[ii] ){ bxy[ii] = byz[jj] = bzx[kk] = 1 ; }
00043          }
00044       }
00045    }
00046 
00047    return tm ;
00048 }

Tmask* create_Tmask_rgba int    nx,
int    ny,
int    nz,
rgba   vol
 

Definition at line 52 of file thd_tmask.c.

References rgba::a, calloc, malloc, Tmask::mask, Tmask::nmask, nz, TM_IXY, TM_IYZ, and TM_IZX.

00053 {
00054    Tmask *tm ;
00055    int ii,jj,kk,vv , nxy,nyz,nzx ;
00056    byte *xym,*yzm,*zxm , *bxy,*byz,*bzx ;
00057    rgba *bz ;
00058 
00059    tm = (Tmask *) malloc(sizeof(Tmask)) ;
00060    tm->nmask[TM_IXY] = nxy = nx*ny ;
00061    tm->nmask[TM_IYZ] = nyz = ny*nz ;
00062    tm->nmask[TM_IZX] = nzx = nz*nx ;
00063 
00064    tm->mask[TM_IXY] = xym = (byte *) calloc(1,sizeof(byte)*nxy) ;
00065    tm->mask[TM_IYZ] = yzm = (byte *) calloc(1,sizeof(byte)*nyz) ;
00066    tm->mask[TM_IZX] = zxm = (byte *) calloc(1,sizeof(byte)*nzx) ;
00067 
00068    for( byz=yzm,kk=0 ; kk < nz ; kk++,byz+=ny ){
00069      bz = vol + kk*nxy ;
00070      for( bxy=xym,jj=0 ; jj < ny ; jj++,bz+=nx,bxy+=nx ){
00071        for( bzx=zxm,ii=0 ; ii < nx ; ii++,bzx+=nz ){
00072          if( bz[ii].a ){ bxy[ii] = byz[jj] = bzx[kk] = 1 ; }
00073        }
00074      }
00075    }
00076 
00077    return tm ;
00078 }

void free_Tmask Tmask   tm
 

Definition at line 13 of file thd_tmask.c.

References free, and Tmask::mask.

Referenced by CREN_render(), CREN_set_databytes(), and destroy_CREN_renderer().

00014 {
00015    if( tm != NULL ){
00016       free(tm->mask[0]) ; free(tm->mask[1]) ; free(tm->mask[2]) ; free(tm) ;
00017    }
00018    return ;
00019 }
 

Powered by Plone

This site conforms to the following standards: