generic data_reader.py to support all channels