Support for FLOAT32

This commit is contained in:
2021-03-22 18:19:30 +01:00
parent a23eeb4a26
commit 43028f32c6
2 changed files with 11 additions and 2 deletions
+1 -2
View File
@@ -60,8 +60,7 @@ void ImageWidget::setImage(RawImage *image)
break; break;
case RawImage::FLOAT32: case RawImage::FLOAT32:
m_image->setData(0, QOpenGLTexture::Red, QOpenGLTexture::Float32, image->data(), m_transferOptions.get()); m_image->setData(0, QOpenGLTexture::Red, QOpenGLTexture::Float32, image->data(), m_transferOptions.get());
break; m_range = 1;
default:
break; break;
} }
m_image->generateMipMaps(); m_image->generateMipMaps();
+10
View File
@@ -167,6 +167,7 @@ bool loadFITS(QString path, ImageInfoData &info, RawImage **image, QImage *qimag
std::vector<uint8_t> bits8; std::vector<uint8_t> bits8;
std::vector<uint16_t> bits16; std::vector<uint16_t> bits16;
std::vector<uint32_t> bits32; std::vector<uint32_t> bits32;
std::vector<float> bits32f;
long fpixel[3] = {1,1,1}; long fpixel[3] = {1,1,1};
size_t size = naxes[0]*naxes[1]; size_t size = naxes[0]*naxes[1];
@@ -233,6 +234,15 @@ bool loadFITS(QString path, ImageInfoData &info, RawImage **image, QImage *qimag
memcpy((*image)->data(), &bits8[0], sizeof(uint32_t)*h*w); memcpy((*image)->data(), &bits8[0], sizeof(uint32_t)*h*w);
}*/ }*/
break; break;
case FLOAT_IMG:
bits32f.resize(size);
fits_read_pix(file, TFLOAT, fpixel, size, NULL, &bits32f[0], NULL, &status);
if(status)break;
if(image)
{
*image = new RawImage(naxes[0], naxes[1], RawImage::FLOAT32);
memcpy((*image)->data(), &bits32f[0], sizeof(float)*h*w);
}
} }
} }
} }