public void Evaluate(int SpreadMax)
        {
            if (FProcessor == null)
            {
                FProcessor = new ProcessDestination <T>(FPinInInputImage);
            }

            FProcessor.CheckInputSize(FPinInInputImage.SliceCount);

            Update(FProcessor.SliceCount);
        }
        //called when data for any output pin is requested
        public void Evaluate(int SpreadMax)
        {
            if (FProcessor == null)
            {
                FProcessor = new ProcessDestination <AsTextureInstance>(FPinInImage);
            }

            bool needsInit = FProcessor.CheckInputSize();

            for (int i = 0; i < FProcessor.SliceCount; i++)
            {
                needsInit |= FProcessor[i].NeedsTexture;
            }

            if (needsInit)
            {
                Reinitialize();
            }

            SetSliceCount(FProcessor.SliceCount);

            Update();
        }