Virtual scanner