Support for FLOAT32
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user