def METHOD_NAME(self, out=None):
    IM = self.get_input()
    #ASTRA expects a 2D array with shape 1, CIL removes dimensions of len 1
    new_shape_ig = [self.volume_geometry.voxel_num_y,self.volume_geometry.voxel_num_x]
    new_shape_ig = [x if x>0 else 1 for x in new_shape_ig]
    IM_data_temp = IM.as_array().reshape(new_shape_ig)
    sinogram_id, arr_out = astra.create_sino(IM_data_temp, self.proj_id)
    astra.data2d.delete(sinogram_id)
    arr_out = np.squeeze(arr_out)
    if out is None:
        out = AcquisitionData(arr_out, deep_copy=False, geometry=self.sinogram_geometry.copy(), suppress_warning=True)
        return out
    else:
        out.fill(arr_out)