optimise the code; BUG found: some pixel shows high value while shielded