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;
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }