<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_window_out_shape(self, bands, window, xsize, ysize):
 """Get the outshape of a window. this method is only used inside get_window to calculate the out_shape """


        if xsize and ysize is None:
            ratio = window.width / xsize
            ysize = math.ceil(window.height / ratio)
        elif ysize and xsize is None:
            ratio = window.height / ysize
            xsize = math.ceil(window.width / ratio)
        elif xsize is None and ysize is None:
            ysize = math.ceil(window.height)
            xsize = math.ceil(window.width)
        return (len(bands), ysize, xsize)