restructure DirectImageIntegrator and subclass
(#618)