reworked the fetching of the caliper images

props to @ewels for both the idea and the great help in the implementation.
This will make the caliper images loaded by one after the other, only if someone is looking at them, and without interfering with the sample info.

He doesn't say why the tilde Does that though. The tilde is a bitwise not, so it was supposed to be used for operations on bits, but was diverted because it fits the indexof problem so well.

By the way, do you know why I indexof  rather than ===? Because somehow, the column name contains newlines, and I was too lazy to find out why