diff --git a/reader/JFJochReaderImage.cpp b/reader/JFJochReaderImage.cpp index 1534db3e0..e8651556f 100644 --- a/reader/JFJochReaderImage.cpp +++ b/reader/JFJochReaderImage.cpp @@ -247,3 +247,14 @@ std::shared_ptr JFJochReaderImage::CreateMutableDataset() { dataset = new_dataset; return new_dataset; } + +int32_t JFJochReaderImage::GetAutoContrastValue(float range) const { + if (valid_pixel.empty()) + return 10; + + auto it = valid_pixel.begin(); + const auto index = static_cast(valid_pixel.size() * range); + + std::advance(it, std::max(1ULL, index) - 1); + return std::max(1, it->first); +} diff --git a/reader/JFJochReaderImage.h b/reader/JFJochReaderImage.h index 5bf6435a1..9b1e6fead 100644 --- a/reader/JFJochReaderImage.h +++ b/reader/JFJochReaderImage.h @@ -53,6 +53,8 @@ public: void CalcROI(const ROIElement *input); std::shared_ptr CreateMutableDataset(); + + int32_t GetAutoContrastValue(float range = 0.95f) const; }; #endif //JFJOCH_JFJOCHREADERIMAGE_H