kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Rename ImagePipelineNodeMergeMono{Lines -> LinesToColor}
rodzic
bd4f009122
commit
ad84284186
|
@ -304,8 +304,8 @@ bool ImagePipelineNodeInvert::get_next_row_data(std::uint8_t* out_data)
|
||||||
return got_data;
|
return got_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
ImagePipelineNodeMergeMonoLines::ImagePipelineNodeMergeMonoLines(ImagePipelineNode& source,
|
ImagePipelineNodeMergeMonoLinesToColor::ImagePipelineNodeMergeMonoLinesToColor(
|
||||||
ColorOrder color_order) :
|
ImagePipelineNode& source, ColorOrder color_order) :
|
||||||
source_(source),
|
source_(source),
|
||||||
buffer_(source_.get_row_bytes())
|
buffer_(source_.get_row_bytes())
|
||||||
{
|
{
|
||||||
|
@ -314,7 +314,7 @@ ImagePipelineNodeMergeMonoLines::ImagePipelineNodeMergeMonoLines(ImagePipelineNo
|
||||||
output_format_ = get_output_format(source_.get_format(), color_order);
|
output_format_ = get_output_format(source_.get_format(), color_order);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ImagePipelineNodeMergeMonoLines::get_next_row_data(std::uint8_t* out_data)
|
bool ImagePipelineNodeMergeMonoLinesToColor::get_next_row_data(std::uint8_t* out_data)
|
||||||
{
|
{
|
||||||
bool got_data = true;
|
bool got_data = true;
|
||||||
|
|
||||||
|
@ -341,8 +341,8 @@ bool ImagePipelineNodeMergeMonoLines::get_next_row_data(std::uint8_t* out_data)
|
||||||
return got_data;
|
return got_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
PixelFormat ImagePipelineNodeMergeMonoLines::get_output_format(PixelFormat input_format,
|
PixelFormat ImagePipelineNodeMergeMonoLinesToColor::get_output_format(PixelFormat input_format,
|
||||||
ColorOrder order)
|
ColorOrder order)
|
||||||
{
|
{
|
||||||
switch (input_format) {
|
switch (input_format) {
|
||||||
case PixelFormat::I1: {
|
case PixelFormat::I1: {
|
||||||
|
|
|
@ -295,11 +295,11 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
// A pipeline node that merges 3 mono lines into a color channel
|
// A pipeline node that merges 3 mono lines into a color channel
|
||||||
class ImagePipelineNodeMergeMonoLines : public ImagePipelineNode
|
class ImagePipelineNodeMergeMonoLinesToColor : public ImagePipelineNode
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ImagePipelineNodeMergeMonoLines(ImagePipelineNode& source,
|
ImagePipelineNodeMergeMonoLinesToColor(ImagePipelineNode& source,
|
||||||
ColorOrder color_order);
|
ColorOrder color_order);
|
||||||
|
|
||||||
std::size_t get_width() const override { return source_.get_width(); }
|
std::size_t get_width() const override { return source_.get_width(); }
|
||||||
std::size_t get_height() const override { return source_.get_height() / 3; }
|
std::size_t get_height() const override { return source_.get_height() / 3; }
|
||||||
|
|
|
@ -442,7 +442,7 @@ Image read_unshuffled_image_from_scanner(Genesys_Device* dev, const ScanSession&
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dev->model->is_cis && session.params.channels == 3) {
|
if (dev->model->is_cis && session.params.channels == 3) {
|
||||||
pipeline.push_node<ImagePipelineNodeMergeMonoLines>(dev->model->line_mode_color_order);
|
pipeline.push_node<ImagePipelineNodeMergeMonoLinesToColor>(dev->model->line_mode_color_order);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pipeline.get_output_format() == PixelFormat::BGR888) {
|
if (pipeline.get_output_format() == PixelFormat::BGR888) {
|
||||||
|
@ -540,7 +540,7 @@ Image read_shuffled_image_from_scanner(Genesys_Device* dev, const ScanSession& s
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dev->model->is_cis && session.params.channels == 3) {
|
if (dev->model->is_cis && session.params.channels == 3) {
|
||||||
pipeline.push_node<ImagePipelineNodeMergeMonoLines>(dev->model->line_mode_color_order);
|
pipeline.push_node<ImagePipelineNodeMergeMonoLinesToColor>(dev->model->line_mode_color_order);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pipeline.get_output_format() == PixelFormat::BGR888) {
|
if (pipeline.get_output_format() == PixelFormat::BGR888) {
|
||||||
|
@ -1218,7 +1218,7 @@ ImagePipelineStack build_image_pipeline(const Genesys_Device& dev, const ScanSes
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dev.model->is_cis && session.params.channels == 3) {
|
if (dev.model->is_cis && session.params.channels == 3) {
|
||||||
pipeline.push_node<ImagePipelineNodeMergeMonoLines>(dev.model->line_mode_color_order);
|
pipeline.push_node<ImagePipelineNodeMergeMonoLinesToColor>(dev.model->line_mode_color_order);
|
||||||
|
|
||||||
if (log_image_data) {
|
if (log_image_data) {
|
||||||
pipeline.push_node<ImagePipelineNodeDebug>(debug_prefix + "_4_after_merge_mono.tiff");
|
pipeline.push_node<ImagePipelineNodeDebug>(debug_prefix + "_4_after_merge_mono.tiff");
|
||||||
|
|
|
@ -468,7 +468,7 @@ void test_node_invert_1_bits()
|
||||||
ASSERT_EQ(out_data, expected_data);
|
ASSERT_EQ(out_data, expected_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_node_merge_mono_lines()
|
void test_node_merge_mono_lines_to_color()
|
||||||
{
|
{
|
||||||
using Data = std::vector<std::uint8_t>;
|
using Data = std::vector<std::uint8_t>;
|
||||||
|
|
||||||
|
@ -481,7 +481,7 @@ void test_node_merge_mono_lines()
|
||||||
ImagePipelineStack stack;
|
ImagePipelineStack stack;
|
||||||
stack.push_first_node<ImagePipelineNodeArraySource>(8, 3, PixelFormat::I8,
|
stack.push_first_node<ImagePipelineNodeArraySource>(8, 3, PixelFormat::I8,
|
||||||
std::move(in_data));
|
std::move(in_data));
|
||||||
stack.push_node<ImagePipelineNodeMergeMonoLines>(ColorOrder::RGB);
|
stack.push_node<ImagePipelineNodeMergeMonoLinesToColor>(ColorOrder::RGB);
|
||||||
|
|
||||||
ASSERT_EQ(stack.get_output_width(), 8u);
|
ASSERT_EQ(stack.get_output_width(), 8u);
|
||||||
ASSERT_EQ(stack.get_output_height(), 1u);
|
ASSERT_EQ(stack.get_output_height(), 1u);
|
||||||
|
@ -937,7 +937,7 @@ void test_image_pipeline()
|
||||||
test_node_invert_16_bits();
|
test_node_invert_16_bits();
|
||||||
test_node_invert_8_bits();
|
test_node_invert_8_bits();
|
||||||
test_node_invert_1_bits();
|
test_node_invert_1_bits();
|
||||||
test_node_merge_mono_lines();
|
test_node_merge_mono_lines_to_color();
|
||||||
test_node_split_mono_lines();
|
test_node_split_mono_lines();
|
||||||
test_node_component_shift_lines();
|
test_node_component_shift_lines();
|
||||||
test_node_pixel_shift_columns_no_switch();
|
test_node_pixel_shift_columns_no_switch();
|
||||||
|
|
Ładowanie…
Reference in New Issue