private void UserControl_Loaded(object sender, RoutedEventArgs e) { AnalysisViewModel context = (AnalysisViewModel)DataContext; context.LoadExecutionModel(); // If video has not calibration, calibration joint was not set, then there is no reason to show // joint calibration information. if (!context.HasCalibration) { lbCalibrationJoint.Visibility = Visibility.Hidden; lbJointName.Visibility = Visibility.Hidden; txtCalibrationX.Visibility = Visibility.Hidden; txtCalibrationY.Visibility = Visibility.Hidden; txtCalibrationZ.Visibility = Visibility.Hidden; } else { lbCalibrationJoint.Visibility = Visibility.Visible; lbJointName.Visibility = Visibility.Visible; txtCalibrationX.Visibility = Visibility.Visible; txtCalibrationY.Visibility = Visibility.Visible; txtCalibrationZ.Visibility = Visibility.Visible; } context.CanvasSkeleton = CanvasPosition; context.CanvasImage = CanvasImage; context.FilteredCanvas = FilteredCanvas; }
/// <summary> /// Constructor for playing back videos, show and collect data. /// </summary> /// <param name="videos">List of videos to be played</param> /// <param name="calibration">Calibration data</param> /// <param name="canvasImg">Pointer to RGB image</param> /// <param name="canvas">Pointer to skeleton</param> /// <param name="calling">Pointer to calling process</param> public SessionAnalysisKinect(ObservableCollection <VideoModel> videos, CalibrationModel calibration, Canvas canvasImg, Canvas canvas, Canvas filteredCanvas, AnalysisViewModel calling) { _canvas = canvas; _canvasImg = canvasImg; _calibration = calibration; _filteredCanvas = filteredCanvas; _tracked = 0; _notTracked = 0; frameCount = 0; _defaultCanvas = _canvas; // If the session has no calibration initialize the instance. if (_calibration == null) { _calibration = new CalibrationModel() { CalSessionId = 0, JointType = JointType.SpineBase, Position = new Vector3(0f, 0f, 0f) }; } else { _Xthreshold = _calibration.Threshold.X; } // A reference to the calling process that receives and shows data. _callingProcess = calling; InitializeFilterARMA(); HoltFilter = new KinectJointFilter(); HoltFilter.Init(0.5f); _allRecords = new List <CameraSpacePoint[]>(); // // This block bellow start Kinect device. // _sensor = KinectSensor.GetDefault(); if (_sensor != null) { _sensor.Open(); _reader = _sensor.OpenMultiSourceFrameReader(FrameSourceTypes.Body | FrameSourceTypes.Color); _reader.MultiSourceFrameArrived += FrameArrived; } // Send the video list to be played. PlayVideoList(videos); }
/// <summary> /// Selects the user control to show within the tab area. Creates a new ViewModel, if the case and /// pass it to ApplicationViewModel (shell that controls navigation). /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.Source is TabControl) { ApplicationViewModel app = (ApplicationViewModel)DataContext; if (TabItemCalibration.IsSelected) { if (calViewModel == null) { calViewModel = new CalibrationViewModel(app); } calViewModel.LoadCalibrationData(false); app.CurrentPageViewModel = calViewModel; } else if (TabItemExecution.IsSelected) { if (exeViewModel == null) { exeViewModel = new AnalysisViewModel(app); } exeViewModel.LoadExecutionModel(); app.CurrentPageViewModel = exeViewModel; } else if (TabItemResults.IsSelected) { if (resultViewModel == null) { resultViewModel = new ResultsViewModel(app); } resultViewModel.LoadResultViewModel(); app.CurrentPageViewModel = resultViewModel; } else if (TabItemSessions.IsSelected) { // This is the first and default page. app.CurrentPageViewModel = app.PageViewModels[0]; } } }
private void UserControl_GotFocus(object sender, RoutedEventArgs e) { AnalysisViewModel context = (AnalysisViewModel)DataContext; }