X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Fkernel%2Fvolume.cxx;fp=lib%2FmaracasVisuLib%2Fsrc%2Fkernel%2Fvolume.cxx;h=7fbe85cc1276d06e2b598a3bb3a4cfdf977d50bf;hb=66588eac91068d9b7f9d45bffc5e09c27511eaac;hp=43d1364b3b8af6d52fda922c8d512433405cecb3;hpb=de9cb7c635460c989a985f31d15bae5c2725b4be;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/kernel/volume.cxx b/lib/maracasVisuLib/src/kernel/volume.cxx index 43d1364..7fbe85c 100644 --- a/lib/maracasVisuLib/src/kernel/volume.cxx +++ b/lib/maracasVisuLib/src/kernel/volume.cxx @@ -3,8 +3,8 @@ Program: wxMaracas Module: $RCSfile: volume.cxx,v $ Language: C++ - Date: $Date: 2010/04/20 14:42:44 $ - Version: $Revision: 1.7 $ + Date: $Date: 2010/04/20 16:11:40 $ + Version: $Revision: 1.8 $ Copyright: (c) 2002, 2003 License: @@ -44,8 +44,8 @@ const void* kVolume::BLANK = ( void* ) 0; const void* kVolume::NOALLOC = ( void* )-1; const int kVolume::SIZETypes[] = { sizeof( char ), sizeof( float ), sizeof( double ), sizeof( int ), - sizeof( short ), sizeof( uchar ), - sizeof( uint ), sizeof( ushort ) }; + sizeof( short ), sizeof( uint8_t ), + sizeof( uint32_t ), sizeof( uint16_t ) }; // --------------------------------------------------------------------------- template< class FROM, class TO > @@ -108,7 +108,7 @@ kVolume::kVolume( ) // ------------------------------------------------------------------------- kVolume::kVolume( Type type, - uint xdim, uint ydim, uint zdim, + uint32_t xdim, uint32_t ydim, uint32_t zdim, double xsize, double ysize, double zsize, void* data ) : _type( type ), @@ -136,7 +136,7 @@ kVolume::kVolume( Type type, // ------------------------------------------------------------------------- kVolume::kVolume( Type type, - const uint *dims, + const uint32_t *dims, const double *sizes, void* data ) : _type( type ), @@ -149,7 +149,7 @@ kVolume::kVolume( Type type, #endif // KGFO_USE_VTK { - memcpy( _dims, dims, 3 * sizeof( uint ) ); + memcpy( _dims, dims, 3 * sizeof( uint32_t ) ); memcpy( _sizes, sizes, 3 * sizeof( double ) ); if( data != NOALLOC ) { @@ -194,7 +194,7 @@ void kVolume::copyFrom( const kVolume& org ) _columns = 0; _images = 0; - memcpy( _dims, org._dims, 3 * sizeof( uint ) ); + memcpy( _dims, org._dims, 3 * sizeof( uint32_t ) ); memcpy( _sizes, org._sizes, 3 * sizeof( double ) ); if( org._raw ) { @@ -214,20 +214,20 @@ bool kVolume::sameDimension( const kVolume& comp ) } // ------------------------------------------------------------------------- -double kVolume::getPixel( uint x, uint y, uint z ) const +double kVolume::getPixel( uint32_t x, uint32_t y, uint32_t z ) const { double p; switch( _type ) { - case CHAR: p = ( double )( ( char*** )_images )[ z ][ y ][ x ]; break; + case CHAR: p = ( double )( ( int8_t*** )_images )[ z ][ y ][ x ]; break; case FLOAT: p = ( double )( ( float*** )_images )[ z ][ y ][ x ]; break; case DOUBLE: p = ( double )( ( double*** )_images )[ z ][ y ][ x ]; break; - case INT: p = ( double )( ( int*** )_images )[ z ][ y ][ x ]; break; - case SHORT: p = ( double )( ( short*** )_images )[ z ][ y ][ x ]; break; - case UCHAR: p = ( double )( ( uchar*** )_images )[ z ][ y ][ x ]; break; - case UINT: p = ( double )( ( uint*** )_images )[ z ][ y ][ x ]; break; - case USHORT: p = ( double )( ( ushort*** )_images )[ z ][ y ][ x ]; break; + case INT: p = ( double )( ( int32_t*** )_images )[ z ][ y ][ x ]; break; + case SHORT: p = ( double )( ( int16_t*** )_images )[ z ][ y ][ x ]; break; + case UCHAR: p = ( double )( ( uint8_t*** )_images )[ z ][ y ][ x ]; break; + case UINT: p = ( double )( ( uint32_t*** )_images )[ z ][ y ][ x ]; break; + case USHORT: p = ( double )( ( uint16_t*** )_images )[ z ][ y ][ x ]; break; default: p = 0.0; break; } // fswitch @@ -236,19 +236,19 @@ double kVolume::getPixel( uint x, uint y, uint z ) const } // ------------------------------------------------------------------------- -void kVolume::setPixel( double v, uint x, uint y, uint z ) +void kVolume::setPixel( double v, uint32_t x, uint32_t y, uint32_t z ) { switch( _type ) { - case CHAR: ( ( char*** )_images )[ z ][ y ][ x ] = ( char )v; break; - case FLOAT: ( ( float*** )_images )[ z ][ y ][ x ] = ( float )v; break; - case DOUBLE: ( ( double*** )_images )[ z ][ y ][ x ] = ( double )v; break; - case INT: ( ( int*** )_images )[ z ][ y ][ x ] = ( int )v; break; - case SHORT: ( ( short*** )_images )[ z ][ y ][ x ] = ( short )v; break; - case UCHAR: ( ( uchar*** )_images )[ z ][ y ][ x ] = ( uchar )v; break; - case UINT: ( ( uint*** )_images )[ z ][ y ][ x ] = ( uint )v; break; - case USHORT: ( ( ushort*** )_images )[ z ][ y ][ x ] = ( ushort )v; break; + case CHAR: ( ( int8_t*** )_images )[ z ][ y ][ x ] = ( int8_t )v; break; + case FLOAT: ( ( float*** )_images )[ z ][ y ][ x ] = ( float )v; break; + case DOUBLE: ( ( double*** )_images )[ z ][ y ][ x ] = ( double )v; break; + case INT: ( ( int32_t*** )_images )[ z ][ y ][ x ] = ( int32_t )v; break; + case SHORT: ( ( int16_t*** )_images )[ z ][ y ][ x ] = ( int16_t )v; break; + case UCHAR: ( ( uint8_t*** )_images )[ z ][ y ][ x ] = ( uint8_t )v; break; + case UINT: ( ( uint32_t*** )_images )[ z ][ y ][ x ] = ( uint32_t )v; break; + case USHORT: ( ( uint16_t*** )_images )[ z ][ y ][ x ] = ( uint16_t )v; break; default: break; } // fswitch @@ -262,20 +262,20 @@ void kVolume::convertCast( Type type ) void* buffer; ulong size = getRawSize( ); - buffer = ( void* )new uchar[ size * SIZETypes[ type ] ]; + buffer = ( void* )new uint8_t[ size * SIZETypes[ type ] ]; switch( _type ) { case CHAR: switch( type ) { - case SHORT: convertCastT( ( char* )_raw, ( short* )buffer, size ); break; - case INT: convertCastT( ( char* )_raw, ( int* )buffer, size ); break; - case USHORT: convertCastT( ( char* )_raw, ( ushort* )buffer, size ); break; - case UINT: convertCastT( ( char* )_raw, ( uint* )buffer, size ); break; + case SHORT: convertCastT( ( char* )_raw, ( int16_t* )buffer, size ); break; + case INT: convertCastT( ( char* )_raw, ( int32_t* )buffer, size ); break; + case USHORT: convertCastT( ( char* )_raw, ( uint16_t* )buffer, size ); break; + case UINT: convertCastT( ( char* )_raw, ( uint32_t* )buffer, size ); break; case FLOAT: convertCastT( ( char* )_raw, ( float* )buffer, size ); break; case DOUBLE: convertCastT( ( char* )_raw, ( double* )buffer, size ); break; - case UCHAR: convertCastT( ( char* )_raw, ( uchar* )buffer, size ); break; + case UCHAR: convertCastT( ( char* )_raw, ( uint8_t* )buffer, size ); break; default : break; } // fswitch @@ -284,13 +284,13 @@ void kVolume::convertCast( Type type ) case SHORT: switch( type ) { - case CHAR: convertCastT( ( short* )_raw, ( char* )buffer, size ); break; - case INT: convertCastT( ( short* )_raw, ( int* )buffer, size ); break; - case USHORT: convertCastT( ( short* )_raw, ( ushort* )buffer, size ); break; - case UINT: convertCastT( ( short* )_raw, ( uint* )buffer, size ); break; - case FLOAT: convertCastT( ( short* )_raw, ( float* )buffer, size ); break; - case DOUBLE: convertCastT( ( short* )_raw, ( double* )buffer, size ); break; - case UCHAR: convertCastT( ( short* )_raw, ( uchar* )buffer, size ); break; + case CHAR: convertCastT( ( int16_t* )_raw, ( uint8_t* )buffer, size ); break; + case INT: convertCastT( ( int16_t* )_raw, ( int32_t* )buffer, size ); break; + case USHORT: convertCastT( ( int16_t* )_raw, ( uint16_t* )buffer, size ); break; + case UINT: convertCastT( ( int16_t* )_raw, ( uint32_t* )buffer, size ); break; + case FLOAT: convertCastT( ( int16_t* )_raw, ( float* )buffer, size ); break; + case DOUBLE: convertCastT( ( int16_t* )_raw, ( double* )buffer, size ); break; + case UCHAR: convertCastT( ( int16_t* )_raw, ( uint8_t* )buffer, size ); break; default : break; } // fswitch break; @@ -298,13 +298,13 @@ void kVolume::convertCast( Type type ) case INT: switch( type ) { - case CHAR: convertCastT( ( int* )_raw, ( char* )buffer, size ); break; - case SHORT: convertCastT( ( int* )_raw, ( short* )buffer, size ); break; - case USHORT: convertCastT( ( int* )_raw, ( ushort* )buffer, size ); break; - case UINT: convertCastT( ( int* )_raw, ( uint* )buffer, size ); break; - case FLOAT: convertCastT( ( int* )_raw, ( float* )buffer, size ); break; - case DOUBLE: convertCastT( ( int* )_raw, ( double* )buffer, size ); break; - case UCHAR: convertCastT( ( int* )_raw, ( uchar* )buffer, size ); break; + case CHAR: convertCastT( ( int32_t* )_raw, ( int8_t* )buffer, size ); break; + case SHORT: convertCastT( ( int32_t* )_raw, ( int16_t* )buffer, size ); break; + case USHORT: convertCastT( ( int32_t* )_raw, ( uint16_t* )buffer, size ); break; + case UINT: convertCastT( ( int32_t* )_raw, ( uint32_t* )buffer, size ); break; + case FLOAT: convertCastT( ( int32_t* )_raw, ( float* )buffer, size ); break; + case DOUBLE: convertCastT( ( int32_t* )_raw, ( double* )buffer, size ); break; + case UCHAR: convertCastT( ( int32_t* )_raw, ( uint8_t* )buffer, size ); break; default : break; } // fswitch break; @@ -312,13 +312,13 @@ void kVolume::convertCast( Type type ) case USHORT: switch( type ) { - case CHAR: convertCastT( ( ushort* )_raw, ( char* )buffer, size ); break; - case SHORT: convertCastT( ( ushort* )_raw, ( short* )buffer, size ); break; - case INT: convertCastT( ( ushort* )_raw, ( int* )buffer, size ); break; - case UINT: convertCastT( ( ushort* )_raw, ( uint* )buffer, size ); break; - case FLOAT: convertCastT( ( ushort* )_raw, ( float* )buffer, size ); break; - case DOUBLE: convertCastT( ( ushort* )_raw, ( double* )buffer, size ); break; - case UCHAR: convertCastT( ( ushort* )_raw, ( uchar* )buffer, size ); break; + case CHAR: convertCastT( ( uint16_t* )_raw, ( int8_t* )buffer, size ); break; + case SHORT: convertCastT( ( uint16_t* )_raw, ( int16_t* )buffer, size ); break; + case INT: convertCastT( ( uint16_t* )_raw, ( int32_t* )buffer, size ); break; + case UINT: convertCastT( ( uint16_t* )_raw, ( uint32_t* )buffer, size ); break; + case FLOAT: convertCastT( ( uint16_t* )_raw, ( float* )buffer, size ); break; + case DOUBLE: convertCastT( ( uint16_t* )_raw, ( double* )buffer, size ); break; + case UCHAR: convertCastT( ( uint16_t* )_raw, ( uint8_t* )buffer, size ); break; default : break; } // fswitch break; @@ -326,13 +326,13 @@ void kVolume::convertCast( Type type ) case UINT: switch( type ) { - case CHAR: convertCastT( ( uint* )_raw, ( char* )buffer, size ); break; - case SHORT: convertCastT( ( uint* )_raw, ( short* )buffer, size ); break; - case INT: convertCastT( ( uint* )_raw, ( int* )buffer, size ); break; - case USHORT: convertCastT( ( uint* )_raw, ( ushort* )buffer, size ); break; - case FLOAT: convertCastT( ( uint* )_raw, ( float* )buffer, size ); break; - case DOUBLE: convertCastT( ( uint* )_raw, ( double* )buffer, size ); break; - case UCHAR: convertCastT( ( uint* )_raw, ( uchar* )buffer, size ); break; + case CHAR: convertCastT( ( uint32_t* )_raw, ( int8_t* )buffer, size ); break; + case SHORT: convertCastT( ( uint32_t* )_raw, ( int16_t* )buffer, size ); break; + case INT: convertCastT( ( uint32_t* )_raw, ( int32_t* )buffer, size ); break; + case USHORT: convertCastT( ( uint32_t* )_raw, ( uint16_t* )buffer, size ); break; + case FLOAT: convertCastT( ( uint32_t* )_raw, ( float* )buffer, size ); break; + case DOUBLE: convertCastT( ( uint32_t* )_raw, ( double* )buffer, size ); break; + case UCHAR: convertCastT( ( uint32_t* )_raw, ( uint8_t* )buffer, size ); break; default : break; } // fswitch break; @@ -340,13 +340,13 @@ void kVolume::convertCast( Type type ) case FLOAT: switch( type ) { - case CHAR: convertCastT( ( float* )_raw, ( char* )buffer, size ); break; - case SHORT: convertCastT( ( float* )_raw, ( short* )buffer, size ); break; - case INT: convertCastT( ( float* )_raw, ( int* )buffer, size ); break; - case USHORT: convertCastT( ( float* )_raw, ( ushort* )buffer, size ); break; - case UINT: convertCastT( ( float* )_raw, ( uint* )buffer, size ); break; + case CHAR: convertCastT( ( float* )_raw, ( int8_t* )buffer, size ); break; + case SHORT: convertCastT( ( float* )_raw, ( int16_t* )buffer, size ); break; + case INT: convertCastT( ( float* )_raw, ( int32_t* )buffer, size ); break; + case USHORT: convertCastT( ( float* )_raw, ( uint16_t* )buffer, size ); break; + case UINT: convertCastT( ( float* )_raw, ( uint32_t* )buffer, size ); break; case DOUBLE: convertCastT( ( float* )_raw, ( double* )buffer, size ); break; - case UCHAR: convertCastT( ( float* )_raw, ( uchar* )buffer, size ); break; + case UCHAR: convertCastT( ( float* )_raw, ( uint8_t* )buffer, size ); break; default : break; } // fswitch break; @@ -354,13 +354,13 @@ void kVolume::convertCast( Type type ) case DOUBLE: switch( type ) { - case CHAR: convertCastT( ( double* )_raw, ( char* )buffer, size ); break; - case SHORT: convertCastT( ( double* )_raw, ( short* )buffer, size ); break; - case INT: convertCastT( ( double* )_raw, ( int* )buffer, size ); break; - case USHORT: convertCastT( ( double* )_raw, ( ushort* )buffer, size ); break; - case UINT: convertCastT( ( double* )_raw, ( uint* )buffer, size ); break; + case CHAR: convertCastT( ( double* )_raw, ( int8_t* )buffer, size ); break; + case SHORT: convertCastT( ( double* )_raw, ( int16_t* )buffer, size ); break; + case INT: convertCastT( ( double* )_raw, ( int32_t* )buffer, size ); break; + case USHORT: convertCastT( ( double* )_raw, ( uint16_t* )buffer, size ); break; + case UINT: convertCastT( ( double* )_raw, ( uint32_t* )buffer, size ); break; case FLOAT: convertCastT( ( double* )_raw, ( float* )buffer, size ); break; - case UCHAR: convertCastT( ( double* )_raw, ( uchar* )buffer, size ); break; + case UCHAR: convertCastT( ( double* )_raw, ( uint8_t* )buffer, size ); break; default : break; } // fswitch break; @@ -368,13 +368,13 @@ void kVolume::convertCast( Type type ) case UCHAR: switch( type ) { - case CHAR: convertCastT( ( uchar* )_raw, ( char* )buffer, size ); break; - case SHORT: convertCastT( ( uchar* )_raw, ( short* )buffer, size ); break; - case INT: convertCastT( ( uchar* )_raw, ( int* )buffer, size ); break; - case USHORT: convertCastT( ( uchar* )_raw, ( ushort* )buffer, size ); break; - case UINT: convertCastT( ( uchar* )_raw, ( uint* )buffer, size ); break; - case FLOAT: convertCastT( ( uchar* )_raw, ( float* )buffer, size ); break; - case DOUBLE: convertCastT( ( uchar* )_raw, ( double* )buffer, size ); break; + case CHAR: convertCastT( ( uint8_t* )_raw, ( int8_t* )buffer, size ); break; + case SHORT: convertCastT( ( uint8_t* )_raw, ( int16_t* )buffer, size ); break; + case INT: convertCastT( ( uint8_t* )_raw, ( int32_t* )buffer, size ); break; + case USHORT: convertCastT( ( uint8_t* )_raw, ( uint16_t* )buffer, size ); break; + case UINT: convertCastT( ( uint8_t* )_raw, ( uint32_t* )buffer, size ); break; + case FLOAT: convertCastT( ( uint8_t* )_raw, ( float* )buffer, size ); break; + case DOUBLE: convertCastT( ( uint8_t* )_raw, ( double* )buffer, size ); break; default : break; } // fswitch break; @@ -408,119 +408,119 @@ void kVolume::convertScale( Type type, double min, double max ) void* buffer; ulong size = getRawSize( ); - buffer = ( void* )new uchar[ size * SIZETypes[ type ] ]; + buffer = ( void* )new uint8_t[ size * SIZETypes[ type ] ]; switch( _type ) { case CHAR: switch( type ) { - case CHAR: convertScaleT( ( char* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( char* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( char* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( char* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( char* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; - case FLOAT: convertScaleT( ( char* )_raw, ( float* )buffer, size, smin, tmin, a ); break; - case DOUBLE: convertScaleT( ( char* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( char* )_raw, ( uchar* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( int8_t* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( int8_t* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( int8_t* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( int8_t* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( int8_t* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; + case FLOAT: convertScaleT( ( int8_t* )_raw, ( float* )buffer, size, smin, tmin, a ); break; + case DOUBLE: convertScaleT( ( int8_t* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( int8_t* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; case SHORT: switch( type ) { - case CHAR: convertScaleT( ( short* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( short* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( short* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( short* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( short* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; - case FLOAT: convertScaleT( ( short* )_raw, ( float* )buffer, size, smin, tmin, a ); break; - case DOUBLE: convertScaleT( ( short* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( short* )_raw, ( uchar* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( int16_t* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( int16_t* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( int16_t* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( int16_t* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( int16_t* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; + case FLOAT: convertScaleT( ( int16_t* )_raw, ( float* )buffer, size, smin, tmin, a ); break; + case DOUBLE: convertScaleT( ( int16_t* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( int16_t* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; case INT: switch( type ) { - case CHAR: convertScaleT( ( int* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( int* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( int* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( int* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( int* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; - case FLOAT: convertScaleT( ( int* )_raw, ( float* )buffer, size, smin, tmin, a ); break; - case DOUBLE: convertScaleT( ( int* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( int* )_raw, ( uchar* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( int32_t* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( int32_t* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( int32_t* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( int32_t* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( int32_t* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; + case FLOAT: convertScaleT( ( int32_t* )_raw, ( float* )buffer, size, smin, tmin, a ); break; + case DOUBLE: convertScaleT( ( int32_t* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( int32_t* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; case USHORT: switch( type ) { - case CHAR: convertScaleT( ( ushort* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( ushort* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( ushort* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( ushort* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( ushort* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; - case FLOAT: convertScaleT( ( ushort* )_raw, ( float* )buffer, size, smin, tmin, a ); break; - case DOUBLE: convertScaleT( ( ushort* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( ushort* )_raw, ( uchar* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( uint16_t* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( uint16_t* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( uint16_t* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( uint16_t* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( uint16_t* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; + case FLOAT: convertScaleT( ( uint16_t* )_raw, ( float* )buffer, size, smin, tmin, a ); break; + case DOUBLE: convertScaleT( ( uint16_t* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( uint16_t* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; case UINT: switch( type ) { - case CHAR: convertScaleT( ( uint* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( uint* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( uint* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( uint* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( uint* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; - case FLOAT: convertScaleT( ( uint* )_raw, ( float* )buffer, size, smin, tmin, a ); break; - case DOUBLE: convertScaleT( ( uint* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( uint* )_raw, ( uchar* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( uint32_t* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( uint32_t* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( uint32_t* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( uint32_t* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( uint32_t* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; + case FLOAT: convertScaleT( ( uint32_t* )_raw, ( float* )buffer, size, smin, tmin, a ); break; + case DOUBLE: convertScaleT( ( uint32_t* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( uint32_t* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; case UCHAR: switch( type ) { - case CHAR: convertScaleT( ( uchar* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( uchar* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( uchar* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( uchar* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( uchar* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; - case FLOAT: convertScaleT( ( uchar* )_raw, ( float* )buffer, size, smin, tmin, a ); break; - case DOUBLE: convertScaleT( ( uchar* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( uchar* )_raw, ( uchar* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( uint8_t* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( uint8_t* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( uint8_t* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( uint8_t* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( uint8_t* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; + case FLOAT: convertScaleT( ( uint8_t* )_raw, ( float* )buffer, size, smin, tmin, a ); break; + case DOUBLE: convertScaleT( ( uint8_t* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( uint8_t* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; case DOUBLE: switch( type ) { - case CHAR: convertScaleT( ( double* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( double* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( double* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( double* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( double* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; - case FLOAT: convertScaleT( ( double* )_raw, ( float* )buffer, size, smin, tmin, a ); break; - case DOUBLE: convertScaleT( ( double* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( uchar* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( double* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( double* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( double* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( double* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( double* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; + case FLOAT: convertScaleT( ( double* )_raw, ( float* )buffer, size, smin, tmin, a ); break; + case DOUBLE: convertScaleT( ( double* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( double* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; case FLOAT: switch( type ) { - case CHAR: convertScaleT( ( float* )_raw, ( char* )buffer, size, smin, tmin, a ); break; - case SHORT: convertScaleT( ( float* )_raw, ( short* )buffer, size, smin, tmin, a ); break; - case INT: convertScaleT( ( float* )_raw, ( int* )buffer, size, smin, tmin, a ); break; - case USHORT: convertScaleT( ( float* )_raw, ( ushort* )buffer, size, smin, tmin, a ); break; - case UINT: convertScaleT( ( float* )_raw, ( uint* )buffer, size, smin, tmin, a ); break; + case CHAR: convertScaleT( ( float* )_raw, ( int8_t* )buffer, size, smin, tmin, a ); break; + case SHORT: convertScaleT( ( float* )_raw, ( int16_t* )buffer, size, smin, tmin, a ); break; + case INT: convertScaleT( ( float* )_raw, ( int32_t* )buffer, size, smin, tmin, a ); break; + case USHORT: convertScaleT( ( float* )_raw, ( uint16_t* )buffer, size, smin, tmin, a ); break; + case UINT: convertScaleT( ( float* )_raw, ( uint32_t* )buffer, size, smin, tmin, a ); break; case FLOAT: convertScaleT( ( float* )_raw, ( float* )buffer, size, smin, tmin, a ); break; case DOUBLE: convertScaleT( ( float* )_raw, ( double* )buffer, size, smin, tmin, a ); break; - case UCHAR: convertScaleT( ( float* )_raw, ( double* )buffer, size, smin, tmin, a ); break; + case UCHAR: convertScaleT( ( float* )_raw, ( uint8_t* )buffer, size, smin, tmin, a ); break; } // fswitch break; @@ -541,14 +541,14 @@ void kVolume::getMinMax( double& min, double& max ) const switch( _type ) { - case CHAR: getMinMaxT( ( char* )_raw, size, min, max ); break; - case FLOAT: getMinMaxT( ( float* )_raw, size, min, max ); break; - case DOUBLE: getMinMaxT( ( double* )_raw, size, min, max ); break; - case INT: getMinMaxT( ( int* )_raw, size, min, max ); break; - case SHORT: getMinMaxT( ( short* )_raw, size, min, max ); break; - case UCHAR: getMinMaxT( ( uchar* )_raw, size, min, max ); break; - case UINT: getMinMaxT( ( uint* )_raw, size, min, max ); break; - case USHORT: getMinMaxT( ( ushort* )_raw, size, min, max ); break; + case CHAR: getMinMaxT( ( int8_t* )_raw, size, min, max ); break; + case FLOAT: getMinMaxT( ( float* )_raw, size, min, max ); break; + case DOUBLE: getMinMaxT( ( double* )_raw, size, min, max ); break; + case INT: getMinMaxT( ( int32_t* )_raw, size, min, max ); break; + case SHORT: getMinMaxT( ( int16_t* )_raw, size, min, max ); break; + case UCHAR: getMinMaxT( ( uint8_t* )_raw, size, min, max ); break; + case UINT: getMinMaxT( ( uint32_t* )_raw, size, min, max ); break; + case USHORT: getMinMaxT( ( uint16_t* )_raw, size, min, max ); break; } // fswitch } @@ -600,7 +600,7 @@ double kVolume::getMax( ) const for( v( 1 ) = minY; v( 1 ) <= maxY; v( 1 )++ ) for( v( 2 ) = minZ; v( 2 ) <= maxZ; v( 2 )++ ) if( ( v - vP ).norm2( ) <= r ) { - tmp = this->getPixel( ( uint )v(0), ( uint )v(1), ( uint )v(2)); + tmp = this->getPixel( ( uint32_t )v(0), ( uint32_t )v(1), ( uint32_t )v(2)); maxint = ( tmp > maxint || start )? tmp: maxint; start = false; } // fi @@ -664,7 +664,7 @@ void kVolume::allocate( ) if( _creator == SELF ) { - _raw = ( void* )new uchar[ size ]; + _raw = ( void* )new uint8_t[ size ]; memset( _raw, 0, size ); } // fi @@ -675,24 +675,24 @@ void kVolume::buildIndex( ) { ulong size; - size = ( _dims[ CZ ] * sizeof( uchar** ) ) + + size = ( _dims[ CZ ] * sizeof( uint8_t** ) ) + ( _dims[ CZ ] * _dims[ CY ] * sizeof( void* ) ); - _images = ( void*** )new uchar[ size ]; + _images = ( void*** )new uint8_t[ size ]; _columns = ( void** )( _images + _dims[ CZ ] ); void** plane = _columns; - for( uint z = 0; z < _dims[ CZ ]; z++ ) { + for( uint32_t z = 0; z < _dims[ CZ ]; z++ ) { _images[ z ] = plane; plane += _dims[ CY ]; } // rof void* line = _raw; - for( uint y = 0; y < _dims[ CZ ] * _dims[ CY ]; y++ ) { + for( uint32_t y = 0; y < _dims[ CZ ] * _dims[ CY ]; y++ ) { _columns[ y ] = line; - line = ( void* )( ( uchar* ) line + + line = ( void* )( ( uint8_t* ) line + _dims[ CX ] * SIZETypes[ _type ] ); } // rof @@ -730,7 +730,7 @@ void kVolume::buildIndex( ) case UCHAR: ucarray = vtkUnsignedCharArray::New( ); ucarray->SetNumberOfComponents( 1 ); - ucarray->SetArray( ( uchar* )( _raw ), size, 1 ); + ucarray->SetArray( ( uint8_t* )( _raw ), size, 1 ); _vtk->SetScalarType( VTK_UNSIGNED_CHAR ); _vtk->GetPointData( )->SetScalars( ucarray ); ucarray->Delete( ); @@ -739,7 +739,7 @@ void kVolume::buildIndex( ) case SHORT: sarray = vtkShortArray::New( ); sarray->SetNumberOfComponents( 1 ); - sarray->SetArray( ( short* )( _raw ), size, 1 ); + sarray->SetArray( ( int16_t* )( _raw ), size, 1 ); _vtk->SetScalarType( VTK_SHORT ); _vtk->GetPointData( )->SetScalars( sarray ); sarray->Delete( ); @@ -748,7 +748,7 @@ void kVolume::buildIndex( ) case INT: iarray = vtkIntArray::New( ); iarray->SetNumberOfComponents( 1 ); - iarray->SetArray( ( int* )( _raw ), size, 1 ); + iarray->SetArray( ( int32_t* )( _raw ), size, 1 ); _vtk->SetScalarType( VTK_INT ); _vtk->GetPointData( )->SetScalars( iarray ); iarray->Delete( ); @@ -757,7 +757,7 @@ void kVolume::buildIndex( ) case USHORT: usarray = vtkUnsignedShortArray::New( ); usarray->SetNumberOfComponents( 1 ); - usarray->SetArray( ( ushort* )( _raw ), size, 1 ); + usarray->SetArray( ( uint16_t* )( _raw ), size, 1 ); _vtk->SetScalarType( VTK_UNSIGNED_SHORT ); _vtk->GetPointData( )->SetScalars( usarray ); usarray->Delete( ); @@ -766,7 +766,7 @@ void kVolume::buildIndex( ) case UINT: uiarray = vtkUnsignedIntArray::New( ); uiarray->SetNumberOfComponents( 1 ); - uiarray->SetArray( ( uint* )( _raw ), size, 1 ); + uiarray->SetArray( ( uint32_t* )( _raw ), size, 1 ); _vtk->SetScalarType( VTK_UNSIGNED_INT ); _vtk->GetPointData( )->SetScalars( uiarray ); uiarray->Delete( ); @@ -804,11 +804,11 @@ void kVolume::deallocate( ) if( _vtk ) _vtk->Delete(); _vtk = NULL; #endif // KGFO_USE_VTK - delete[] ( uchar* )_images; + delete[] ( uint8_t* )_images; if( _raw && _creator == SELF ) //EED purify 12/sept/2006 -// delete[] ( uchar* )_raw; +// delete[] ( uint8_t* )_raw; free ( _raw ); @@ -849,9 +849,9 @@ kVolume::kVolume( vtkImageData* org ) } // fswitch org->GetDimensions( itmp ); - _dims[ CX ] = ( uint )itmp[ 0 ]; - _dims[ CY ] = ( uint )itmp[ 1 ]; - _dims[ CZ ] = ( uint )itmp[ 2 ]; + _dims[ CX ] = ( uint32_t )itmp[ 0 ]; + _dims[ CY ] = ( uint32_t )itmp[ 1 ]; + _dims[ CZ ] = ( uint32_t )itmp[ 2 ]; org->GetSpacing( ftmp ); _sizes[ CX ] = ( double )ftmp[ 0 ]; _sizes[ CY ] = ( double )ftmp[ 1 ]; @@ -909,9 +909,9 @@ void kVolume::copyFrom( vtkImageData* org ) } // fswitch org->GetDimensions( itmp ); - _dims[ CX ] = ( uint )itmp[ 0 ]; - _dims[ CY ] = ( uint )itmp[ 1 ]; - _dims[ CZ ] = ( uint )itmp[ 2 ]; + _dims[ CX ] = ( uint32_t )itmp[ 0 ]; + _dims[ CY ] = ( uint32_t )itmp[ 1 ]; + _dims[ CZ ] = ( uint32_t )itmp[ 2 ]; org->GetSpacing( ftmp ); _sizes[ CX ] = ( double )ftmp[ 0 ]; _sizes[ CY ] = ( double )ftmp[ 1 ];