I took away the 2 .visible = true commands at the end, just to see if they were the culprit. They are not. It appears that the get_viewport().get_texture().get_image() command gets called before the interface elements are turned off, even though the order of code would make me think otherwise.