public static HClassTrainData Deserialize(Stream stream) { HClassTrainData hclassTrainData = new HClassTrainData(); hclassTrainData.DeserializeClassTrainData(HSerializedItem.Deserialize(stream)); return(hclassTrainData); }
/// <summary> /// Selects an optimal subset from a set of features to solve a certain classification problem. /// Modified instance represents: A trained k-NN classifier using only the selected features. /// </summary> /// <param name="classTrainDataHandle">Handle of the training data.</param> /// <param name="selectionMethod">Method to perform the selection. Default: "greedy"</param> /// <param name="genParamName">Names of generic parameters to configure the selection process and the classifier. Default: []</param> /// <param name="genParamValue">Values of generic parameters to configure the selection process and the classifier. Default: []</param> /// <param name="score">The achieved score using two-fold cross-validation.</param> /// <returns>The selected feature set, contains indices or names.</returns> public HTuple SelectFeatureSetKnn( HClassTrainData classTrainDataHandle, string selectionMethod, string genParamName, double genParamValue, out HTuple score) { this.Dispose(); IntPtr proc = HalconAPI.PreCall(1802); HalconAPI.Store(proc, 0, (HTool)classTrainDataHandle); HalconAPI.StoreS(proc, 1, selectionMethod); HalconAPI.StoreS(proc, 2, genParamName); HalconAPI.StoreD(proc, 3, genParamValue); HalconAPI.InitOCT(proc, 0); HalconAPI.InitOCT(proc, 1); HalconAPI.InitOCT(proc, 2); int err1 = HalconAPI.CallProcedure(proc); int err2 = this.Load(proc, 0, err1); HTuple tuple; int err3 = HTuple.LoadNew(proc, 1, err2, out tuple); int procResult = HTuple.LoadNew(proc, 2, HTupleType.DOUBLE, err3, out score); HalconAPI.PostCall(proc, procResult); GC.KeepAlive((object)this); GC.KeepAlive((object)classTrainDataHandle); return(tuple); }
public HClassTrainData Clone() { HSerializedItem serializedItemHandle = this.SerializeClassTrainData(); HClassTrainData hclassTrainData = new HClassTrainData(); hclassTrainData.DeserializeClassTrainData(serializedItemHandle); serializedItemHandle.Dispose(); return(hclassTrainData); }
internal static int LoadNew(IntPtr proc, int parIndex, int err, out HClassTrainData[] obj) { HTuple tuple; err = HTuple.LoadNew(proc, parIndex, err, out tuple); obj = new HClassTrainData[tuple.Length]; for (int index = 0; index < tuple.Length; ++index) { obj[index] = new HClassTrainData(tuple[index].IP); } return(err); }
/// <summary> /// Add training data to a k-nearest neighbors (k-NN) classifier. /// Instance represents: Handle of a k-NN which receives the training data. /// </summary> /// <param name="classTrainDataHandle">Training data for a classifier.</param> public void AddClassTrainDataKnn(HClassTrainData classTrainDataHandle) { IntPtr proc = HalconAPI.PreCall(1790); this.Store(proc, 0); HalconAPI.Store(proc, 1, (HTool)classTrainDataHandle); int procResult = HalconAPI.CallProcedure(proc); HalconAPI.PostCall(proc, procResult); GC.KeepAlive((object)this); GC.KeepAlive((object)classTrainDataHandle); }
/// <summary> /// Get the training data of a k-nearest neighbors (k-NN) classifier. /// Instance represents: Handle of the k-NN classifier that contains training data. /// </summary> /// <returns>Handle of the training data of the classifier.</returns> public HClassTrainData GetClassTrainDataKnn() { IntPtr proc = HalconAPI.PreCall(1789); this.Store(proc, 0); HalconAPI.InitOCT(proc, 0); int err = HalconAPI.CallProcedure(proc); HClassTrainData hclassTrainData; int procResult = HClassTrainData.LoadNew(proc, 0, err, out hclassTrainData); HalconAPI.PostCall(proc, procResult); GC.KeepAlive((object)this); return(hclassTrainData); }
/// <summary> /// Select certain features from training data to create training data containing less features. /// Instance represents: Handle of the training data. /// </summary> /// <param name="subFeatureIndices">Indices or names to select the subfeatures or columns.</param> /// <returns>Handle of the reduced training data.</returns> public HClassTrainData SelectSubFeatureClassTrainData(HTuple subFeatureIndices) { IntPtr proc = HalconAPI.PreCall(1783); this.Store(proc, 0); HalconAPI.Store(proc, 1, subFeatureIndices); HalconAPI.InitOCT(proc, 0); int err = HalconAPI.CallProcedure(proc); HalconAPI.UnpinTuple(subFeatureIndices); HClassTrainData hclassTrainData; int procResult = HClassTrainData.LoadNew(proc, 0, err, out hclassTrainData); HalconAPI.PostCall(proc, procResult); GC.KeepAlive((object)this); return(hclassTrainData); }
internal static int LoadNew(IntPtr proc, int parIndex, int err, out HClassTrainData obj) { obj = new HClassTrainData(HTool.UNDEF); return(obj.Load(proc, parIndex, err)); }