- RegionSType region = imageInfo->GetImageMManager()->GetModifiedRegion();
- if (img != NULL) {
- for (int i = region.minX, x = 0; i <= region.maxX; i++, x++) {
- for (int j = region.minY, y = 0; j <= region.maxY; j++, y++) {
- for (int k = region.minZ, z = 0; k <= region.maxZ; k++, z++) {
- float value = img->GetScalarComponentAsFloat(x, y, z, 0);
- this->m_CurrentImage->SetScalarComponentFromFloat(i, j, k,
- 0, value);
- } //rof
- } //rof
- } //rof
- this->m_CurrentImage->Modified();
+ RegionSType region = imageInfo->GetImageMManager( )->GetModifiedRegion( );
+ if( img != NULL)
+ {
+ int *dim = img->GetDimensions( );
+ int sizeXImageIn = dim[ 0 ];
+ size_t linesize = sizeXImageIn * sizeof(unsigned short);
+ for( int j = region.minY, y = 0; j <= region.maxY; j++, y++ )
+ {
+ for( int k = region.minZ, z = 0; k <= region.maxZ; k++, z++ )
+ {
+ void* ptrsrc = img->GetScalarPointer( 0, y, z );
+ void* ptrdest = this->m_CurrentImage->GetScalarPointer(
+ region.minX, j, k );
+ memcpy( ptrdest, ptrsrc, linesize );
+ }
+ }
+ this->m_CurrentImage->Modified( );