Данная процедура поддерживает три варианта наборов аргументов.
Вход 1: растр, одна или несколько областей интереса
Вход 2: растр, маска, параметры.
Вход 3: растр, параметры.
Выход: массив данных (данные гистограммы) и/или статистика по области интереса, маске или растру по одному каналу.
В блоке параметров задаётся, использовать ли заданный пользователем диапазон, границы этого диапазона, число столбцов гистограммы, а так же номер используемого канала. Кроме этого, пользователь задаёт, нужна ли ему статистика, гистограмма или оба блока сразу.
Если диапазон не используется, то значения минимума и максимума берутся из статистики по растру. Далее этот промежуток разбивается на число интервалов, равное числу столбцов гистограммы, и считается число точек, значение заданного канала в которых попадает в каждый интервал. Точки, не попадающие в заданный диапазон, не учитываются. Если задана область интереса, обрабатываются только попадающие в неё точки. Если задана маска, то обрабатываются только попадающие в неё точки, причём проекция и размеры маски должны совпадать с проекцией и размерами растра.
Число строк в выходном массиве данных равно числу столбцов гистограммы. В каждой строке записано три значения: левая граница интервала, правая граница и число точек в этом интервале.
Также вычисляется и записывается в выходной блок энтропия для того же массива данных, для которого была вычислена гистограмма, по формуле:
где H - энтропия, - число точек в i-том столбце гистограммы, поделенное на общее число точек, обработанных для гистограммы. Если , то этот столбец пропускается (эквивалентно прибавлению нуля к общей сумме).
Значение энтропии показывается в таблице статистики при просмотре гистограммы.