public override UInt32[] PostProcessData( UInt32[] __ui32Rawdata) { int szUint = sizeof(UInt32); // Finally we return the processed data. // In this case, no processing is necessary, data are already in the correct order. UInt32[] buffer = new UInt32[this.ImageWidthPx]; UInt32[] processed = __ui32Rawdata; for (int i=1; i<this.ImageHeightPx; i+=2) { Buffer.BlockCopy(__ui32Rawdata, i * this.ImageWidthPx * szUint, buffer, 0, this.ImageWidthPx * szUint); buffer.Reverse(); Buffer.BlockCopy(buffer, 0, processed, i * this.ImageWidthPx * szUint, this.ImageWidthPx * szUint); } return processed; }