self calibrating kernel from file reader