def _select_options(self, options, keys, invert=False):
        options = self._merge_options(options)
        result = {}
        for key in options:
            if (invert and key not in keys) or (not invert and key in keys):
                result[key] = options[key]
        return result
read/write of 3D NMRPipe time domain stream (single file).
dataset/ETHPy150Open Asana/python-asana/asana/client.py/Client._select_options--crossover with--dataset/ETHPy150Open jjhelmus/nmrglue/nmrglue/fileio/tests/test_pipe.py/test_3d_time_stream