class_docstr: This class is responsible for the search of the appropriate files to use
  as input based on the constraints given in the config file.
docstr: This function perform the search of the relevant files (stored in
  filename_list) and extract
  the corresponding possible list of subject names (stored in
  subjectname_list).
  
  :return: filename_list, subjectname_list
docstr_tok: ["This","function","perform","the","search","of","the","relevant","files","(","stored","in","filename_list",")","and","extract","the","corresponding","possible","list","of","subject","names","(","stored","in","subjectname_list",")",".",":","return",":","filename_list",",","subjectname_list"]
code: def matching_subjects_and_filenames(self):
      """
      This function perform the search of the relevant files (stored in
      filename_list) and extract
      the corresponding possible list of subject names (stored in
      subjectname_list).
  
      :return: filename_list, subjectname_list
      """
      path_file = [
          (p, filename)
          for p in self.path_to_search
          for filename in sorted(os.listdir(p))
      ]
      matching_path_file = list(
          filter(self.__is_a_candidate, path_file)
      )
      filename_list = [
          os.path.join(p, filename)
          for p, filename in matching_path_file
      ]
      subjectname_list = [
          self.__extract_subject_id_from(filename)
          for p, filename in matching_path_file
      ]
      for sname, fname in zip(subjectname_list, filename_list):
          if not sname:
              subjectname_list.remove(sname)
              filename_list.remove(fname)
      self.__check_unique_names(filename_list, subjectname_list)
      if not filename_list or not subjectname_list:
          tf.logging.fatal(
              "no file matched based on this matcher: %s", self
          )
          raise ValueError
      return filename_list, subjectname_list
  
file_path: NiftyNet/niftynet/utilities/filename_matching.py
imports: from __future__ import absolute_import, print_function
  import os
  import re
  import six
  import niftynet.io.misc_io
  import tensorflow
label_desc: Use image node_id 3 for calling the KeywordsMatching obj's underlying member method code with example usage: obj.matching_subjects_and_filenames() and returns: filename_list,  subjectname_list