refactore imageInViewport function