Esempio n. 1
0
def doImageMod_Parallel(menuitem, image, **params):
    # For the rear-end processes
    global _rank
    if _rank == 0:
        return

    # image is the image name, actually
    imagecontext = oofimage.imageContexts[image]
    imagecontext.reserve()
    try:
        immidge = imagecontext.getObject()  # OOFImage object
        newimmidge = immidge.clone(immidge.name())
        registration = menuitem.data
        imageModifier = registration(**params) # create ImageModifier obj
        imagecontext.begin_writing()
        try:
            imageModifier(newimmidge)   # call its __call__ method on the image
            oofimage.pushModification(image, newimmidge)
        finally:
            imagecontext.end_writing()
    finally:
        imagecontext.cancel_reservation()
Esempio n. 2
0
def doImageMod_Parallel(menuitem, image, **params):
    # For the rear-end processes
    global _rank
    if _rank == 0:
        return

    # image is the image name, actually
    imagecontext = oofimage.imageContexts[image]
    imagecontext.reserve()
    try:
        immidge = imagecontext.getObject()  # OOFImage object
        newimmidge = immidge.clone(immidge.name())
        registration = menuitem.data
        imageModifier = registration(**params) # create ImageModifier obj
        imagecontext.begin_writing()
        try:
            imageModifier(newimmidge)   # call its __call__ method on the image
            oofimage.pushModification(image, newimmidge)
        finally:
            imagecontext.end_writing()
    finally:
        imagecontext.cancel_reservation()
Esempio n. 3
0
def doImageMod(menuitem, image, **params):
    if parallel_enable.enabled():
        from ooflib.image.IO import oofimageIPC
        paramenu = oofimageIPC.modmenu.getItem(menuitem.name)
        paramenu(image=image, **params)

    # image is the image name, actually
    imagectxt = imagecontext.imageContexts[image]
    imagectxt.reserve()
    try:
        immidge = imagectxt.getObject()  # OOFImage object
        newimmidge = immidge.clone(immidge.name())
        registration = menuitem.data
        imageModifier = registration(**params)  # create ImageModifier obj
        imagectxt.begin_writing()
        try:
            imageModifier(newimmidge)  # call its __call__ method on the image
            oofimage.pushModification(image, newimmidge)
        finally:
            imagectxt.end_writing()
    finally:
        imagectxt.cancel_reservation()
    switchboard.notify('modified image', imageModifier, image)
    switchboard.notify('redraw')
Esempio n. 4
0
def doImageMod(menuitem, image, **params):
    if parallel_enable.enabled():
        from ooflib.image.IO import oofimageIPC
        paramenu = oofimageIPC.modmenu.getItem(menuitem.name)
        paramenu(image=image, **params)

    # image is the image name, actually
    imagectxt = imagecontext.imageContexts[image]
    imagectxt.reserve()
    try:
        immidge = imagectxt.getObject()  # OOFImage object
        newimmidge = immidge.clone(immidge.name())
        registration = menuitem.data
        imageModifier = registration(**params) # create ImageModifier obj
        imagectxt.begin_writing()
        try:
            imageModifier(newimmidge)   # call its __call__ method on the image
            oofimage.pushModification(image, newimmidge)
        finally:
            imagectxt.end_writing()
    finally:
        imagectxt.cancel_reservation()
    switchboard.notify('modified image', imageModifier, image)
    switchboard.notify('redraw')