Why are you doing this in two steps? Why not: 

    self.images = [img.astype(floating))]
    self.domain_shapes = [input_size.astype(np.int32)]

etc. ?