nodes: 0, module; 1, function_definition; 2, function_name:process_other_set; 3, parameters; 4, block; 5, identifier:hdf5_file; 6, identifier:which_set; 7, identifier:image_archive; 8, identifier:patch_archive; 9, identifier:groundtruth; 10, identifier:offset; 11, expression_statement; 12, expression_statement; 13, expression_statement; 14, expression_statement; 15, comment:"""Process the validation or test set.
  
      Parameters
      ----------
      hdf5_file : :class:`h5py.File` instance
          HDF5 file handle to which to write. Assumes `features`, `targets`
          and `filenames` already exist and have first dimension larger than
          `sum(images_per_class)`.
      which_set : str
          Which set of images is being processed. One of 'train', 'valid',
          'test'.  Used for extracting the appropriate images from the patch
          archive.
      image_archive : str or file-like object
          The filename or file-handle for the TAR archive containing images.
      patch_archive : str or file-like object
          Filename or file handle for the TAR archive of patch images.
      groundtruth : iterable
          Iterable container containing scalar 0-based class index for each
          image, sorted by filename.
      offset : int
          The offset in the HDF5 datasets at which to start writing.
  
      """; 16, assignment; 17, assignment; 18, call; 19, identifier:producer; 20, call; 21, identifier:consumer; 22, call; 23, identifier:producer_consumer; 24, argument_list; 25, identifier:partial; 26, argument_list; 27, identifier:partial; 28, argument_list; 29, identifier:producer; 30, identifier:consumer; 31, identifier:other_set_producer; 32, keyword_argument; 33, keyword_argument; 34, keyword_argument; 35, keyword_argument; 36, identifier:image_consumer; 37, keyword_argument; 38, keyword_argument; 39, keyword_argument; 40, identifier:image_archive; 41, identifier:image_archive; 42, identifier:patch_archive; 43, identifier:patch_archive; 44, identifier:groundtruth; 45, identifier:groundtruth; 46, identifier:which_set; 47, identifier:which_set; 48, identifier:hdf5_file; 49, identifier:hdf5_file; 50, identifier:num_expected; 51, call; 52, identifier:offset; 53, identifier:offset; 54, identifier:len; 55, argument_list; 56, identifier:groundtruth
code: def process_other_set(hdf5_file, which_set, image_archive, patch_archive,
                        groundtruth, offset):
      """Process the validation or test set.
  
      Parameters
      ----------
      hdf5_file : :class:`h5py.File` instance
          HDF5 file handle to which to write. Assumes `features`, `targets`
          and `filenames` already exist and have first dimension larger than
          `sum(images_per_class)`.
      which_set : str
          Which set of images is being processed. One of 'train', 'valid',
          'test'.  Used for extracting the appropriate images from the patch
          archive.
      image_archive : str or file-like object
          The filename or file-handle for the TAR archive containing images.
      patch_archive : str or file-like object
          Filename or file handle for the TAR archive of patch images.
      groundtruth : iterable
          Iterable container containing scalar 0-based class index for each
          image, sorted by filename.
      offset : int
          The offset in the HDF5 datasets at which to start writing.
  
      """
      producer = partial(other_set_producer, image_archive=image_archive,
                         patch_archive=patch_archive,
                         groundtruth=groundtruth, which_set=which_set)
      consumer = partial(image_consumer, hdf5_file=hdf5_file,
                         num_expected=len(groundtruth), offset=offset)
      producer_consumer(producer, consumer)