From 262f80c2e7ffe65828d1cfbc7cba9f7fcfcd9ed4 Mon Sep 17 00:00:00 2001 From: Scott Klum Date: Tue, 27 Jan 2015 13:09:11 -0500 Subject: [PATCH] Handling missing data in Flip and ReorderPoints --- openbr/plugins/register.cpp | 15 +++++++++------ openbr/plugins/template.cpp | 9 ++++++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/openbr/plugins/register.cpp b/openbr/plugins/register.cpp index edf5fc7..110f363 100644 --- a/openbr/plugins/register.cpp +++ b/openbr/plugins/register.cpp @@ -146,12 +146,15 @@ private: QList flippedPoints; foreach(const QPointF &point, src.file.points()) { - if (axis == Y) { - flippedPoints.append(QPointF(src.m().cols-point.x(),point.y())); - } else if (axis == X) { - flippedPoints.append(QPointF(point.x(),src.m().rows-point.y())); - } else { - flippedPoints.append(QPointF(src.m().cols-point.x(),src.m().rows-point.y())); + // Check for missing data using the QPointF(-1,-1) convention + if (point != QPointF(-1,-1)) { + if (axis == Y) { + flippedPoints.append(QPointF(src.m().cols-point.x(),point.y())); + } else if (axis == X) { + flippedPoints.append(QPointF(point.x(),src.m().rows-point.y())); + } else { + flippedPoints.append(QPointF(src.m().cols-point.x(),src.m().rows-point.y())); + } } } diff --git a/openbr/plugins/template.cpp b/openbr/plugins/template.cpp index 20e9467..f64046b 100644 --- a/openbr/plugins/template.cpp +++ b/openbr/plugins/template.cpp @@ -229,9 +229,12 @@ class ReorderPointsTransform : public UntrainableMetadataTransform { if (from.size() == to.size()) { QList points = src.points(); - for (int i=0; i