-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathColorChannel.h
53 lines (52 loc) · 1.79 KB
/
ColorChannel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//
// ColorChannel.h
// PsPlugin
//
// Created by Ketil Wright on 3/9/16.
// Copyright (c) 2016 Ketil Wright. All rights reserved.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
#pragma once
#include <PITypes.h>
#include <PISelection.h>
#include <PIChannelPortsSuite.h>
class ColorChannel
{
PISelectionParams *m_selectionParams;
ReadImageDocumentDesc *m_doc;
ReadChannelDesc *m_channelDesc;
// interface used for reading pixel data
PSChannelPortsSuite1 *m_suite;
// information about the pixels on a color channel
PixelMemoryDesc m_desc;
uint8 *m_bits8; // not implemented
uint16 *m_bits16;
uint32 *m_bits32;// not implemented
// avoid constant groveling in ReadImageDocumentDesc
// for image dimensions
int32 m_width, m_height;
const long m_aperture;
const long m_cores;
const bool m_normalize;
void normalize();
public:
ColorChannel(PISelectionParams *selectionParams, ReadChannelDesc *channelDesc, long aperture, long cores, bool m_normalize);
~ColorChannel();
void probeContrast();
// array containing local contrast
// TODO: should be private
uint16 *m_contrast;
const uint16 *bits16() const { return m_bits16; }
};