From 43028f32c69787bc08b2dbf9ef67be167a40fcea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an=20Poizl?= Date: Mon, 22 Mar 2021 18:19:30 +0100 Subject: [PATCH] Support for FLOAT32 --- imagescrollareagl.cpp | 3 +-- loadrunable.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/imagescrollareagl.cpp b/imagescrollareagl.cpp index 023746f..2198b14 100644 --- a/imagescrollareagl.cpp +++ b/imagescrollareagl.cpp @@ -60,8 +60,7 @@ void ImageWidget::setImage(RawImage *image) break; case RawImage::FLOAT32: m_image->setData(0, QOpenGLTexture::Red, QOpenGLTexture::Float32, image->data(), m_transferOptions.get()); - break; - default: + m_range = 1; break; } m_image->generateMipMaps(); diff --git a/loadrunable.cpp b/loadrunable.cpp index 1c0d28e..9d0e1c4 100644 --- a/loadrunable.cpp +++ b/loadrunable.cpp @@ -167,6 +167,7 @@ bool loadFITS(QString path, ImageInfoData &info, RawImage **image, QImage *qimag std::vector bits8; std::vector bits16; std::vector bits32; + std::vector bits32f; long fpixel[3] = {1,1,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); }*/ 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); + } } } }