def METHOD_NAME(
    self, dataset_name: str, feature_name: str, num_of_bins: int, global_min_value: float, global_max_value: float
) -> Histogram:
    print(f"calculating image intensity histogram for client {self.client_name}")
    channel = self.features_ids[feature_name]
    # get the inputs; data is a list of [inputs, labels]
    histogram_bins: List[Bin] = []
    bin_edges = []
    METHOD_NAME = np.zeros(num_of_bins, dtype=float)
    for inputs, _ in self.loaders[dataset_name]:
        for img in inputs:
            counts, bin_edges = np.METHOD_NAME(
                img[channel, :, :], bins=num_of_bins, range=(global_min_value, global_max_value)
            )
            METHOD_NAME += counts
    for i in range(num_of_bins):
        low_value = bin_edges[i]
        high_value = bin_edges[i + 1]
        bin_sample_count = METHOD_NAME[i]
        histogram_bins.append(Bin(low_value=low_value, high_value=high_value, sample_count=bin_sample_count))
    return Histogram(HistogramType.STANDARD, histogram_bins)