import sys import time sys.path.append('/omero/lib/python') import omero as om import omero.rtypes as omt c = om.client("localhost") try: for block in range(0, 10): images = [] for image in range(0, 100): i = om.model.ImageI() i.name = omt.rstring('images_%s_%s' % (block, image)) print("Creating images %s" % i.name) i.acquisitionDate = omt.rtime(time.time() * 1000) p = om.model.PixelsI() p.setSizeX(omt.rint(1794)) p.setSizeY(omt.rint(2048)) p.setSizeZ(omt.rint(1)) p.setSizeC(omt.rint(4)) p.setSizeT(omt.rint(52)) do = om.model.DimensionOrderI() do.setValue(omt.rstring('XYZCT')) pt = om.model.PixelsTypeI() pt.setValue(omt.rstring('uint16')) p.setDimensionOrder(do) p.setPixelsType(pt) p.setSha1(omt.rstring('')) of = om.model.OriginalFileI() of.setName(omt.rstring('python_test')) of.setSize(omt.rlong(0)) of.setPath(omt.rstring('hdfs://localhost:9000/foo.jpg')) of.setSha1(omt.rstring('')) stat = om.model.StatsInfoI() stat.setGlobalMax(omt.rdouble(1931)) stat.setGlobalMin(omt.rdouble(107)) ch_a = om.model.ChannelI() ch_a.setStatsInfo(stat) lch_a = om.model.LogicalChannelI() lch_a.setName(omt.rstring('ADENINE')) ch_a.setLogicalChannel(lch_a) ch_c = om.model.ChannelI() ch_c.setStatsInfo(stat) lch_c = om.model.LogicalChannelI() lch_c.setName(omt.rstring('CITOSINE')) ch_c.setLogicalChannel(lch_c) ch_g = om.model.ChannelI() ch_g.setStatsInfo(stat) lch_g = om.model.LogicalChannelI() lch_g.setName(omt.rstring('GUANINE')) ch_g.setLogicalChannel(lch_g) ch_t = om.model.ChannelI() ch_t.setStatsInfo(stat) lch_t = om.model.LogicalChannelI() lch_t.setName(omt.rstring('THYMINE')) ch_t.setLogicalChannel(lch_t) f = om.model.FormatI() f.setValue(omt.rstring('GAP_PACKED')) of.setFormat(f) p.linkOriginalFile(of) p.addChannel(ch_a) p.addChannel(ch_g) p.addChannel(ch_c) p.addChannel(ch_t) i.addPixels(p) images.append(i) sf = c.createSession('root', 'omero') u = sf.getUpdateService() print ("Saving block %s, total images %s" % (block, len(images))) u.saveArray(images) c.closeSession() finally: c.closeSession()