'Update the data displayed by this item. All arguments are optional;
for example it is allowed to update spot positions while leaving
colors unchanged, etc.
**Arguments:**
pos                   (N,3) array of floats specifying point locations.
color                 (N,4) array of floats (0.0-1.0) specifying
spot colors OR a tuple of floats specifying
a single color for all spots.
size                  (N,) array of floats specifying spot sizes or
a single value to apply to all spots.
pxMode                If True, spot sizes are expressed in pixels.
Otherwise, they are expressed in item coordinates.'

def setData(self, **kwds):

    args = ['pos', 'color', 'size', 'pxMode']
    for k in kwds.keys():
        if (k not in args):
            raise Exception(('Invalid    keyword    argument:    %s    (allowed    arguments    are    %s)' % (k, str(args))))
    args.remove('pxMode')
    for arg in args:
        if (arg in kwds):
            setattr(self, arg, kwds[arg])
    self.pxMode = kwds.get('pxMode', self.pxMode)
    self.update()
