diff --git a/sdk/plugins/validate.cpp b/sdk/plugins/validate.cpp index 1aedd28..d11c50c 100644 --- a/sdk/plugins/validate.cpp +++ b/sdk/plugins/validate.cpp @@ -13,9 +13,9 @@ class CrossValidateTransform : public MetaTransform { Q_OBJECT Q_PROPERTY(QString description READ get_description WRITE set_description RESET reset_description STORED false) - Q_PROPERTY(QList transforms READ get_transforms WRITE set_transforms RESET reset_transforms) BR_PROPERTY(QString, description, "Identity") - BR_PROPERTY(QList, transforms, QList()) + + QList transforms; void train(const TemplateList &data) { @@ -50,6 +50,23 @@ class CrossValidateTransform : public MetaTransform { transforms[src.file.getInt("Cross_Validation_Partition", 0)]->project(src, dst); } + + void store(QDataStream &stream) const + { + stream << transforms.size(); + foreach (Transform *transform, transforms) + transform->store(stream); + } + + void load(QDataStream &stream) + { + int numTransforms; + stream >> numTransforms; + while (transforms.size() < numTransforms) + transforms.append(make(description)); + foreach (Transform *transform, transforms) + transform->load(stream); + } }; BR_REGISTER(Transform, CrossValidateTransform)