public WallProjectionSample(WallProjectionSample wps) { this.x = wps.x; this.y = wps.y; this.z = wps.z; this.sampledeviceIdentifier = ""; }
public WallProjectionAndPositionSample(WallProjectionSample wps, Point3D personPosition) { this.wallPositionX = wps.x; this.wallPositionY = wps.y; this.wallPositionZ = wps.z; this.personPositionX = personPosition.X; this.personPositionY = personPosition.Y; this.personPositionZ = personPosition.Z; this.sampledeviceIdentifier = wps.sampledeviceIdentifier; }
public WallProjectionSample classify(WallProjectionSample sample) { if (learned != null) { return(learned.Model.Predict(sample)); } else { return(null); } }
public void addSampleAndLearn(WallProjectionSample sample) { if (sample == null) { return; } trainingSamples.Add(sample); if (trainingSetSize > 0 && trainingSamples.Count > trainingSetSize) { Random r = new Random(); int half = (int)Math.Floor((double)(trainingSamples.Count / 2)); int pos = r.Next(half); trainingSamples.RemoveAt(pos); } trainClassifier(); }
public String calculateWallProjectionSampleAndLearn(Point3D[] vectors, String deviceIdentifier) { WallProjectionSample sample = sCalculator.calculateSample(vectors, deviceIdentifier); if (sample.sampledeviceIdentifier.Equals("nullSample") == false) { XMLComponentHandler.writeWallProjectionSampleToXML(sample); //Point3D p = new Point3D(vectors[2].X, vectors[2].Y, vectors[2].Z); //XMLComponentHandler.writeWallProjectionAndPositionSampleToXML(new WallProjectionAndPositionSample(sample, p)); //XMLComponentHandler.writeSampleToXML(vectors, sample.sampledeviceIdentifier); knnClassifier.addSampleAndLearn(sample); return("Sample gesammelt und Klassifikator trainiert"); } return("Es ist ein Fehler beim Erstellen des Samples aufgetreten, bitte versuchen sie es erneut!"); }
public WallProjectionSample calculateSample(Point3D[] vectors, String label) { Ray3D ray = new Ray3D((Point3D)vectors[0], (Point3D)vectors[1]); Point3D samplePoint = intersectAndTestAllWalls(ray); WallProjectionSample sample = new WallProjectionSample(new Point3D(), "nullSample"); if ((samplePoint.X.Equals(float.NaN) == false)) { if (label.Equals("")) { sample = new WallProjectionSample(samplePoint); } else { sample = new WallProjectionSample(samplePoint, label); } return(sample); } return(sample); }
public WallProjectionSample classify(WallProjectionSample sample) { WallProjectionSample predictedSample = knnClassifier.classify(sample); return(predictedSample); }