Source code for mantidimaging.core.utility.histogram

# Copyright (C) 2022 ISIS Rutherford Appleton Laboratory UKRI
# SPDX - License - Identifier: GPL-3.0-or-later

import numpy as np

from typing import TYPE_CHECKING
if TYPE_CHECKING:
    from pyqtgraph import HistogramLUTItem

DEFAULT_NUM_BINS = 2048


[docs] def set_histogram_log_scale(histogram: 'HistogramLUTItem'): """ Sets the y-values of a histogram to use a log scale. :param histogram: The HistogramLUTItem of an image. """ x_data, y_data = histogram.plot.getData() histogram.plot.setData(x_data, np.log(y_data + 1))
[docs] def generate_histogram_from_image(image_data, num_bins=DEFAULT_NUM_BINS): histogram, bins = np.histogram(image_data.flatten(), num_bins) center = (bins[:-1] + bins[1:]) / 2 return center, histogram, bins