Width and Height parameters do not require disk access if guess_size (a new parameter in the constructor) is True

Sometimes hitting the disk is expensive, and this patch allows the developer to pass guess_size as a parameter into the constructor, so that width and height do not hit the disk.