public void Launch(ImageOperation[] operations)
 {
     if (!operationThread.IsAlive)
     {
         processed = 0;
         operationThread.Start(operations);
     }
 }
        public void Start(ImageOperation[] operations)
        {
            //run the scanners
            foreach (Scanner scanner in scanners)
                scanner.Scan();

            //launch managers with a set of operations
            foreach (BatchManager manager in batchManagers)
                manager.Launch(operations);
        }
 private IEnumerable<ImageOperation> GetPriorities(ImageOperation[] operations,int min, int max)
 {
     return from op in operations
            where op.Priority >= min &&
            op.Priority < max
            select op;
 }