Prepare for three channels STF

This commit is contained in:
2023-10-10 22:48:40 +02:00
parent 0c2c5f908c
commit 0a803ace10
10 changed files with 125 additions and 41 deletions
+4 -6
View File
@@ -225,11 +225,9 @@ QVector2D ImageWidget::getImagePixelCoord(const QVector2D &pos)
return (pos + offset) / m_scale;
}
void ImageWidget::setMTFParams(float low, float mid, float high)
void ImageWidget::setMTFParams(const MTFParam &params)
{
m_low = low;
m_mid = mid;
m_high = high;
m_mtfParams = params;
update();
}
@@ -339,7 +337,7 @@ void ImageWidget::paintGL()
m_thumbnailProgram->bind();
f->glUniform3i(m_thumbnailProgram->uniformLocation("viewport_row"), width(), height(), width()/THUMB_SIZE_BORDER);
f->glUniform3i(m_thumbnailProgram->uniformLocation("thumb_size"), THUMB_SIZE_BORDER/2, THUMB_SIZE_BORDER, THUMB_SIZE_BORDER_Y);
m_thumbnailProgram->setUniformValue("mtf_param", m_low, m_mid, m_high);
m_thumbnailProgram->setUniformValueArray("mtf_param", m_mtfParams.blackPoint, 3, 3);
m_thumbnailProgram->setUniformValue("invert", m_invert);
m_thumbnailProgram->setUniformValue("offset", 0, m_dy);
QMatrix4x4 mvp;
@@ -388,7 +386,7 @@ void ImageWidget::paintGL()
m_program->bind();
m_program->setUniformValue("viewport", (float)width(), (float)height());
m_program->setUniformValue("offset", std::floor(dx), std::floor(dy));
m_program->setUniformValue("mtf_param", m_low, m_mid, m_high);
m_program->setUniformValueArray("mtf_param", m_mtfParams.blackPoint, 3, 3);
m_program->setUniformValue("zoom", 1.0f/m_scale);
m_program->setUniformValue("bw", m_bwImg && !m_superpixel);
m_program->setUniformValue("false_color", m_falseColor && m_bwImg);