class_docstr: Processor class for parallel processing of data.
  
  Parameters
  ----------
  processors : list
      Processor instances to be processed in parallel.
  num_threads : int, optional
      Number of parallel working threads.
  
  Notes
  -----
  If the `processors` list contains lists or tuples, these get wrapped as a
  :class:`SequentialProcessor`.
class_docstr_tok: ["Processor","class","for","parallel","processing","of","data",".","Parameters","--","--","--","--","--","processors",":","list","Processor","instances","to","be","processed","in","parallel",".","num_threads",":","int",",","optional","Number","of","parallel","working","threads",".","Notes","--","--","-","If","the","`","processors","`","list","contains","lists","or","tuples",",","these","get","wrapped","as","a",":","class",":","`","SequentialProcessor","`","."]
docstr: Process the data in parallel.
  
  Parameters
  ----------
  data : depends on the processors
      Data to be processed.
  kwargs : dict, optional
      Keyword arguments for processing.
  
  Returns
  -------
  list
      Processed data.
code: def process(self, data, **kwargs):
      """
      Process the data in parallel.
  
      Parameters
      ----------
      data : depends on the processors
          Data to be processed.
      kwargs : dict, optional
          Keyword arguments for processing.
  
      Returns
      -------
      list
          Processed data.
  
      """
      # if only a single processor is given, there's no need to map()
      if len(self.processors) == 1:
          return [_process((self.processors[0], data, kwargs))]
      # process data in parallel and return a list with processed data
      return list(
          self.map(
              _process,
              zip(self.processors, it.repeat(data), it.repeat(kwargs)),
          )
      )
  
imports: from __future__ import absolute_import, division, print_function
  import argparse
  import itertools
  import multiprocessing
  import os
  import sys
  from collections.abc import MutableSequence
  import numpy
  from .utils import integer_types
label_desc: Use image node_id 2 for calling the ParallelProcessor obj's underlying member method code with example usage: obj.process(data) and returns: list, list