Set max value in autostretch
This commit is contained in:
+6
-4
@@ -48,14 +48,16 @@ void StretchToolbar::stretchImage(Image *img)
|
|||||||
{
|
{
|
||||||
if(img->rawImage())
|
if(img->rawImage())
|
||||||
{
|
{
|
||||||
double median, mad;
|
double median, mad, max;
|
||||||
img->rawImage()->imageStats(nullptr, nullptr, &median, nullptr, nullptr, &mad);
|
img->rawImage()->imageStats(nullptr, nullptr, &median, nullptr, &max, &mad);
|
||||||
median /= img->rawImage()->norm();
|
median /= img->rawImage()->norm();
|
||||||
mad /= img->rawImage()->norm();
|
mad /= img->rawImage()->norm();
|
||||||
|
max /= img->rawImage()->norm();
|
||||||
|
if(max>1.0f)max = 1.0f;
|
||||||
float bp = median + mad * BLACK_POINT_SIGMA * MAD_TO_SIGMA;
|
float bp = median + mad * BLACK_POINT_SIGMA * MAD_TO_SIGMA;
|
||||||
float mid = MTF(median - bp, TARGET_BACKGROUND);
|
float mid = MTF(median - bp, TARGET_BACKGROUND);
|
||||||
m_stfSlider->setMTFParams(bp, mid, 1.0f);
|
m_stfSlider->setMTFParams(bp, mid, max);
|
||||||
emit paramChanged(m_stfSlider->blackPoint(), m_stfSlider->midPoint(), 1.0f);
|
emit paramChanged(m_stfSlider->blackPoint(), m_stfSlider->midPoint(), max);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user