public ProductCreator(IShopApiFactory apiFactory, ICombinationsProcessor combinationsProcessor, ICategoryProcessor categoryProcessor, IFeatureProcessor featureProcessor, IManufacturerProcessor manufacturerProcessor, IImageProcessor imageProcessor, ISupplierProcessor supplierProcessor, IStockProcessor stockProcessor) { _apiFactory = apiFactory; _combinationsProcessor = combinationsProcessor; _categoryProcessor = categoryProcessor; _featureProcessor = featureProcessor; _manufacturerProcessor = manufacturerProcessor; _imageProcessor = imageProcessor; _supplierProcessor = supplierProcessor; _stockProcessor = stockProcessor; }
void ProcessFeature() { IHandTracker handTracker = null; Int16[] depthPixelData = null; Byte[] colorPixelData = null; Log.DebugFormat("Start processing {0}...", inputFile); int frameCount = replayer.GetFramesCount(); for (float i = 0; i < frameCount; i += sampleRate) { int index = (int)Math.Round(i); if (index >= frameCount) break; var skeletonFrame = replayer.GetSkeletonFrame(index); var depthFrame = replayer.GetDepthFrame(index); var colorFrame = replayer.GetColorFrame(index); if (handTracker == null) { handTracker = (IHandTracker)Activator.CreateInstance(handTrackerType, new Object[] { depthFrame.Width, depthFrame.Height, GetKinectParams(), bufferSize}); } if (featureProcessor == null) featureProcessor = (IFeatureProcessor)Activator.CreateInstance( featureProcessorType, new Object[] {sampleRate}); if (depthPixelData == null) depthPixelData = new Int16[depthFrame.PixelDataLength]; if (colorPixelData == null) colorPixelData = new Byte[colorFrame.PixelDataLength]; depthFrame.CopyPixelDataTo(depthPixelData); colorFrame.CopyPixelDataTo(colorPixelData); var skeleton = SkeletonUtil.FirstTrackedSkeleton(skeletonFrame.Skeletons); var result = handTracker.Update(depthPixelData, colorPixelData, skeleton); Option<Array> feature = featureProcessor.Compute(result); if (feature.IsSome) { if (replayerType == typeof(KinectAllFramesReplay)) { frameList.Add(depthFrame.GetFrameNumber()); } else { int curIndex = (int) Math.Round(i - sampleRate * (bufferSize - 1)); frameList.Add(curIndex); } featureList.Add(feature.Value); } } Log.DebugFormat("Finished processing {0}.", inputFile); }
void ProcessFeature() { IHandTracker handTracker = null; Int16[] depthPixelData = null; Byte[] colorPixelData = null; Log.DebugFormat("Start processing {0}...", inputFile); int frameCount = replayer.GetFramesCount(); for (float i = 0; i < frameCount; i += sampleRate) { int index = (int)Math.Round(i); if (index >= frameCount) { break; } var skeletonFrame = replayer.GetSkeletonFrame(index); var depthFrame = replayer.GetDepthFrame(index); var colorFrame = replayer.GetColorFrame(index); if (handTracker == null) { handTracker = (IHandTracker)Activator.CreateInstance(handTrackerType, new Object[] { depthFrame.Width, depthFrame.Height, GetKinectParams(), bufferSize }); } if (featureProcessor == null) { featureProcessor = (IFeatureProcessor)Activator.CreateInstance( featureProcessorType, new Object[] { sampleRate }); } if (depthPixelData == null) { depthPixelData = new Int16[depthFrame.PixelDataLength]; } if (colorPixelData == null) { colorPixelData = new Byte[colorFrame.PixelDataLength]; } depthFrame.CopyPixelDataTo(depthPixelData); colorFrame.CopyPixelDataTo(colorPixelData); var skeleton = SkeletonUtil.FirstTrackedSkeleton(skeletonFrame.Skeletons); var result = handTracker.Update(depthPixelData, colorPixelData, skeleton); Option <Array> feature = featureProcessor.Compute(result); if (feature.IsSome) { if (replayerType == typeof(KinectAllFramesReplay)) { frameList.Add(depthFrame.GetFrameNumber()); } else { int curIndex = (int)Math.Round(i - sampleRate * (bufferSize - 1)); frameList.Add(curIndex); } featureList.Add(feature.Value); } } Log.DebugFormat("Finished processing {0}.", inputFile); }