int64_t Jp2KDicomFileFrame::rawABGRFrameBytes()

in src/dcmFilePyramidSource.cpp [131:144]


int64_t Jp2KDicomFileFrame::rawABGRFrameBytes(uint8_t *rawMemory,
int64_t memorySize) {
  cv::Mat rawData(1, size_, CV_8UC1,
                  reinterpret_cast<void*>(dicomFrameMemory_));
  cv::Mat decodedImage = cv::imdecode(rawData, cv::IMREAD_COLOR);
  if ( decodedImage.data == NULL ) {
    return 0;
  }
  const uint64_t width = frameWidth();
  const uint64_t height = frameHeight();
  cv::Mat bgra(height, width, CV_8UC4, rawMemory);
  cv::cvtColor(decodedImage, bgra, cv::COLOR_RGB2BGRA);
  return width * height * 4;
}