shapes_queried = 0 shape_batch_count = 0 hql = 'FROM Shape WHERE roi.id = :id ORDER BY id' while True: params = omero.sys.ParametersI() params.addId(roi.id) params.page(shapes_queried, shapes_per_batch) shapes = queryService.findAllByQuery(hql, params) if not shapes: break else: shapes_queried += len(shapes) shape_batch_count += 1 print("retrieved {} shapes in {} batches".format(shapes_queried, shape_batch_count)) # Delete ROI with Shapes # ====================== conn.deleteObject(roi) # Close connection # ================ # When you are done, close the session to free up server resources. conn.close()