def _fix_compile_args (self, output_dir, macros, include_dirs):
        if output_dir is None:
            output_dir = self.output_dir
        elif type (output_dir) is not StringType:
            raise TypeError, "'output_dir' must be a string or None"

        if macros is None:
            macros = self.macros
        elif type (macros) is ListType:
            macros = macros + (self.macros or [])
        else:
            raise TypeError, "'macros' (if supplied) must be a list of tuples"

        if include_dirs is None:
            include_dirs = self.include_dirs
        elif type (include_dirs) in (ListType, TupleType):
            include_dirs = list (include_dirs) + (self.include_dirs or [])
        else:
            raise TypeError, \
                  "'include_dirs' (if supplied) must be a list of strings"

        return output_dir, macros, include_dirs

    # _fix_compile_args ()
Process the raw data images
dataset/ETHPy150Open babble/babble/include/jython/Lib/distutils/ccompiler.py/CCompiler._fix_compile_args--crossover with--dataset/ETHPy150Open panoptes/POCS/panoptes/scheduler/observation.py/Observation.Exposure.process_images