Exemplo n.º 1
0
        public MainViewModel(ClusterDataSourceSettings clusterDataSourceSettings, ShapeDataSourceSettings shapeDataSourceSettings, HandDataSourceSettings handDataSourceSettings)
        {
            this.Frames = new BindingList <TestDepthFrame>();
            this.clusterDataSourceSettings = clusterDataSourceSettings;
            this.shapeDataSourceSettings   = shapeDataSourceSettings;
            this.handDataSourceSettings    = handDataSourceSettings;

            this.VideoPresenter = new VideoViewModel(clusterDataSourceSettings, shapeDataSourceSettings, handDataSourceSettings);
            this.VideoPresenter.NewFrameCaptured += new Action <DepthDataFrame>(VideoPresenter_NewFrameCaptured);

            this.SaveFrameCommand   = new RelayCommand(SaveCurrentFrame);
            this.LoadFrameCommand   = new RelayCommand(LoadFrames);
            this.SelectPointCommand = new RelayCommand(SelectPoint);
            this.SelectFrameCommand = new RelayCommand <TestDepthFrame>(SelectFrame);
            this.RemoveFrameCommand = new RelayCommand(RemoveFrame);

            this.AddHandCommand    = new RelayCommand(AddHand);
            this.RemoveHandCommand = new RelayCommand <HandDataViewModel>(RemoveHand);

            this.MarkPalmCenterCommand = new RelayCommand <HandDataViewModel>(MarkPalmCenter);
            this.MarkFingersCommand    = new RelayCommand <HandDataViewModel>(MarkFingers);
            this.RemoveFingerCommand   = new RelayCommand <FingerRoutedEventArgs>(RemoveFinger);

            this.OptionChangeCommand = new RelayCommand(ChangeOptions);

            this.LayerViewModel = new LayerViewModel();
        }
        public IClusterDataSource CreateClusterDataSource()
        {
            var settings = new ClusterDataSourceSettings();

            settings.MaximumDepthThreshold = 950;
            return(this.CreateClusterDataSource(settings));
        }
 public SettingsForm(ClusterDataSourceSettings clusterSettings, ShapeDataSourceSettings shapeDataSourceSettings, HandDataSourceSettings handDetectionSettings)
     : this()
 {
     this.propertyGridClustering.SelectedObject    = clusterSettings;
     this.propertyGridShape.SelectedObject         = shapeDataSourceSettings;
     this.propertyGridHandDetection.SelectedObject = handDetectionSettings;
 }
 public void Setup()
 {
     this.settings = new ClusterDataSourceSettings();
     this.depthPointerSourceStub = new DepthPointerDataSourceStub {
         Width = 20, Height = 20
     };
     this.clusterDataSource = new OpenNIClusterDataSource(this.depthPointerSourceStub, this.settings);
 }
Exemplo n.º 5
0
        public IClusterDataSource CreateClusterDataSource(ClusterDataSourceSettings clusterDataSourceSettings)
        {
            var size           = new IntSize(this.Adapter.DepthStreamWidth, this.Adapter.DepthStreamHeight);
            var clusterFactory = new KMeansClusterFactory(clusterDataSourceSettings, size);
            var filter         = new ImageFrameDepthPointFilter(this.Adapter, size, clusterDataSourceSettings.MinimumDepthThreshold, clusterDataSourceSettings.MaximumDepthThreshold, clusterDataSourceSettings.LowerBorder);

            return(new SDKClusterDataSource(this.Adapter, clusterFactory, filter));
        }
Exemplo n.º 6
0
        private void defaultToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            ClusterDataSourceSettings.SetToDefault(this.propertyGridClustering.SelectedObject as ClusterDataSourceSettings);
            HandDataSourceSettings.SetToDefault(this.propertyGridHandDetection.SelectedObject as HandDataSourceSettings);

            this.propertyGridClustering.Refresh();
            this.propertyGridHandDetection.Refresh();
        }
Exemplo n.º 7
0
        public HandDataFactory(IntSize size, ClusterDataSourceSettings clusteringSettings, ShapeDataSourceSettings shapeSettings, HandDataSourceSettings handSettings)
        {
            this.clusteringSettings = clusteringSettings;
            this.shapeSettings      = shapeSettings;
            this.handSettings       = handSettings;

            this.clusterFactory = new KMeansClusterFactory(this.clusteringSettings, size);
            this.filter         = new PointerDepthPointFilter(size, this.clusteringSettings.MinimumDepthThreshold, this.clusteringSettings.MaximumDepthThreshold, this.clusteringSettings.LowerBorder);

            this.shapeFactory = new ClusterShapeFactory(this.shapeSettings);
            this.handFactory  = new ShapeHandDataFactory(this.handSettings);
        }
Exemplo n.º 8
0
        public VideoViewModel(ClusterDataSourceSettings clusterDataSourceSettings, ShapeDataSourceSettings shapeDataSourceSettings, HandDataSourceSettings handDataSourceSettings)
        {
            this.clusterDataSourceSettings = clusterDataSourceSettings;
            this.shapeDataSourceSettings   = shapeDataSourceSettings;
            this.handDataSourceSettings    = handDataSourceSettings;

            this.CaptureFrameCommand        = new RelayCommand(CaptureFrame);
            this.CaptureFrameDelayedCommand = new RelayCommand(CaptureFrameDelayed);

            this.StartDepthSourceCommand = new RelayCommand(StartDepthSource);

            this.LayerViewModel = new LayerViewModel();
        }
Exemplo n.º 9
0
        public void Setup()
        {
            var settings = new ClusterDataSourceSettings();

            settings.LowerBorder = 0;
            settings.MinimalPointsForClustering   = 1;
            settings.MinimalPointsForValidCluster = 1;
            settings.PointModulo = 1;
            settings.MergeMaximumClusterCenterDistances   = 1;
            settings.MergeMaximumClusterCenterDistances2D = 1;
            settings.MergeMinimumDistanceToCluster        = 1;

            this.size = new IntSize(20, 10);

            this.factory = new KMeansClusterFactory(settings, this.size);
        }
Exemplo n.º 10
0
 public IClusterDataSource CreateClusterDataSource(ClusterDataSourceSettings clusterDataSourceSettings)
 {
     return(new OpenNIClusterDataSource(this.GetDepthPointerDataSource(), clusterDataSourceSettings));
 }
Exemplo n.º 11
0
 public IShapeDataSource CreateShapeDataSource(ClusterDataSourceSettings clusterDataSourceSettings, ShapeDataSourceSettings shapeDataSourceSettings)
 {
     return(new ClusterShapeDataSource(this.CreateClusterDataSource(clusterDataSourceSettings), shapeDataSourceSettings));
 }
Exemplo n.º 12
0
 public HandDataFactory(IKinectSensor sensor, IntSize size, ClusterDataSourceSettings clusteringSettings, ShapeDataSourceSettings shapeSettings, HandDataSourceSettings handSettings)
     : this(size, clusteringSettings, shapeSettings, handSettings)
 {
     this.sdkFilter = new ImageFrameDepthPointFilter(sensor, size, this.clusteringSettings.MinimumDepthThreshold, this.clusteringSettings.MaximumDepthThreshold, this.clusteringSettings.LowerBorder);
 }
Exemplo n.º 13
0
 public VolumeFilterClusterDataSource(IDepthPointerDataSource dataSource, ClusterDataSourceSettings settings)
     : base(dataSource, settings)
 {
     this.filterVolumes = new List <Volume>();
     this.settings      = settings;
 }
Exemplo n.º 14
0
 public OpenNIClusterDataSource(IDepthPointerDataSource dataSource, ClusterDataSourceSettings settings)
     : this(dataSource, new KMeansClusterFactory(settings, dataSource.Size), new PointerDepthPointFilter(dataSource.Size, settings.MinimumDepthThreshold, settings.MaximumDepthThreshold, settings.LowerBorder))
 {
 }