'**SUMMARY**
The constructor takes a source, and source type.
**PARAMETERS**
* *s* - the source of the imagery.
* *st* - the type of the virtual camera. Valid strings include:
* *start* - the number of the frame that you want to start with.
* "image" - a single still image.
* "video" - a video file.
* "imageset" - a SimpleCV image set.
* "directory" - a VirtualCamera for loading a directory
**EXAMPLE**
>>> vc = VirtualCamera("img.jpg", "image")
>>> vc = VirtualCamera("video.mpg", "video")
>>> vc = VirtualCamera("./path_to_images/", "imageset")
>>> vc = VirtualCamera("video.mpg", "video", 300)
>>> vc = VirtualCamera("./imgs", "directory")'

def __init__(self, s, st, start=1):

    self.source = s
    self.sourcetype = st
    self.counter = 0
    if (start == 0):
        start = 1
    self.start = start
    if (self.sourcetype not in ['video', 'image', 'imageset', 'directory']):
        print ('Error:    In    VirtualCamera(),    Incorrect    Source    option.    "%s"    \nUsage:' % self.sourcetype)
        print ' DCTB VirtualCamera("filename","video")'
        print ' DCTB VirtualCamera("filename","image")'
        print ' DCTB VirtualCamera("./path_to_images","imageset")'
        print ' DCTB VirtualCamera("./path_to_images","directory")'
        return None
    elif (isinstance(self.source, str) and (not os.path.exists(self.source))):
        print ('Error:    In    VirtualCamera()\n DCTB "%s"    was    not    found.' % self.source)
        return None
    if (self.sourcetype == 'imageset'):
        if isinstance(s, ImageSet):
            self.source = s
        elif isinstance(s, (list, str)):
            self.source = ImageSet()
            if isinstance(s, list):
                self.source.load(*s)
            else:
                self.source.load(s)
        else:
            warnings.warn('Virtual    Camera    is    unable    to    figure    out    the    contents    of    your    ImageSet,    it    must    be    a    directory,    list    of    directories,    or    an    ImageSet    object')
    elif (self.sourcetype == 'video'):
        self.capture = cv.CaptureFromFile(self.source)
        cv.SetCaptureProperty(self.capture, cv.CV_CAP_PROP_POS_FRAMES, (self.start - 1))
    elif (self.sourcetype == 'directory'):
        pass
