Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
histogram.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2010-2011 Henrik Andersson.
4 Copyright (C) 2010, 2012-2013 johannes hanika.
5 Copyright (C) 2012 Richard Wonka.
6 Copyright (C) 2013, 2020 Pascal Obry.
7 Copyright (C) 2014-2015 Roman Lebedev.
8 Copyright (C) 2014, 2016 Tobias Ellinghaus.
9 Copyright (C) 2018-2019 Edgardo Hoszowski.
10 Copyright (C) 2022 Martin Baƙinka.
11
12 darktable is free software: you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation, either version 3 of the License, or
15 (at your option) any later version.
16
17 darktable is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
21
22 You should have received a copy of the GNU General Public License
23 along with darktable. If not, see <http://www.gnu.org/licenses/>.
24*/
25
26#pragma once
27
28#include <stdint.h>
29
30#include "develop/imageop.h"
31#include "develop/pixelpipe.h"
32#include "common/iop_profile.h"
33
34/*
35 * histogram region of interest
36 *
37 * image is located in (0, 0) .. (width, height)
38 * but only (crop_x,crop_y) .. (width-crop_width,height-crop_height)
39 * will be sampled
40 */
45
47 const void *pixel, uint32_t *histogram, int j,
48 const dt_iop_order_iccprofile_info_t *const profile_info);
49
50typedef void((*dt_worker)(const dt_dev_histogram_collection_params_t *const histogram_params,
51 const void *pixel, uint32_t *histogram, int j,
52 const dt_iop_order_iccprofile_info_t *const profile_info));
53
55 dt_dev_histogram_stats_t *histogram_stats, const void *const pixel,
56 uint32_t **histogram, const dt_worker Worker,
57 const dt_iop_order_iccprofile_info_t *const profile_info);
58
60 dt_dev_histogram_stats_t *histogram_stats, const dt_iop_colorspace_type_t cst,
61 const dt_iop_colorspace_type_t cst_to, const void *pixel, uint32_t **histogram,
62 const int compensate_middle_grey, const dt_iop_order_iccprofile_info_t *const profile_info);
63
64void dt_histogram_max_helper(const dt_dev_histogram_stats_t *const histogram_stats,
66 uint32_t **histogram, uint32_t *histogram_max);
67
68// clang-format off
69// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
70// vim: shiftwidth=2 expandtab tabstop=2 cindent
71// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
72// clang-format on
73
dt_iop_colorspace_type_t
Definition color_conversion.h:30
void dt_histogram_max_helper(const dt_dev_histogram_stats_t *const histogram_stats, const dt_iop_colorspace_type_t cst, const dt_iop_colorspace_type_t cst_to, uint32_t **histogram, uint32_t *histogram_max)
Definition common/histogram.c:446
void dt_histogram_worker(dt_dev_histogram_collection_params_t *const histogram_params, dt_dev_histogram_stats_t *histogram_stats, const void *const pixel, uint32_t **histogram, const dt_worker Worker, const dt_iop_order_iccprofile_info_t *const profile_info)
Definition common/histogram.c:333
void dt_histogram_helper(dt_dev_histogram_collection_params_t *histogram_params, dt_dev_histogram_stats_t *histogram_stats, const dt_iop_colorspace_type_t cst, const dt_iop_colorspace_type_t cst_to, const void *pixel, uint32_t **histogram, const int compensate_middle_grey, const dt_iop_order_iccprofile_info_t *const profile_info)
Definition common/histogram.c:390
void dt_histogram_helper_cs_RAW_uint16(const dt_dev_histogram_collection_params_t *histogram_params, const void *pixel, uint32_t *histogram, int j, const dt_iop_order_iccprofile_info_t *const profile_info)
Definition common/histogram.c:75
typedef void((*dt_worker)(const dt_dev_histogram_collection_params_t *const histogram_params, const void *pixel, uint32_t *histogram, int j, const dt_iop_order_iccprofile_info_t *const profile_info))
Definition pixelpipe.h:54
Definition pixelpipe.h:65
Definition histogram.h:42
int width
Definition histogram.h:43
int crop_x
Definition histogram.h:43
int height
Definition histogram.h:43
int crop_height
Definition histogram.h:43
int crop_y
Definition histogram.h:43
int crop_width
Definition histogram.h:43
Definition iop_profile.h:52