'**SUMMARY**
Transform a set of (x,y) values from one reference frame to another.
Options are:
SRC - the coordinates of the source image.
ROI - the coordinates of the ROI
ROI_UNIT - unit coordinates in the frame of reference of the ROI
SRC_UNIT - unit coordinates in the frame of reference of source image.
**PARAMETERS**
* *pts* - A list of (x,y) values or a single (x,y) value.
* *intype* - A string indicating the input format of the data.
* *output* - A string indicating the output format of the data.
**RETURNS**
A list of the transformed values.
**EXAMPLE**
>>> img = Image(\'lenna\')
>>> blobs = img.findBlobs()
>>> roi = ROI(blobs[0])
>>> pts = roi.crop()..... /find some x,y values in the crop region
>>> pts = roi.CoordTransformPts(pts)
>>> #yt are no in the space of the original image.'

def CoordTransformPts(self, pts, intype='ROI', output='SRC'):

    if (self.image is None):
        logger.warning('No    image    to    perform    that    calculation')
        return None
    if (isinstance(pts, tuple) and (len(pts) == 2)):
        pts = [pts]
    intype = intype.upper()
    output = output.upper()
    x = [pt[0] for pt in pts]
    y = [pt[1] for pt in pts]
    if (intype == output):
        return pts
    x = self._transform(x, self.image.width, self.w, self.xtl, intype, output)
    y = self._transform(y, self.image.height, self.h, self.ytl, intype, output)
    return zip(x, y)
