'Return an Image object from the JSON-response dictionary.
:param  image: The dictionary describing the image.
:type   image: ``dict``
:return: Image object
:rtype: :class:`GCENodeImage`'

def _to_node_image(self, image):

    extra = {}
    if ('preferredKernel' in image):
        extra['preferredKernel'] = image.get('preferredKernel', None)
    extra['description'] = image.get('description', None)
    extra['family'] = image.get('family', None)
    extra['creationTimestamp'] = image.get('creationTimestamp')
    extra['selfLink'] = image.get('selfLink')
    if ('deprecated' in image):
        extra['deprecated'] = image.get('deprecated', None)
    extra['sourceType'] = image.get('sourceType', None)
    extra['rawDisk'] = image.get('rawDisk', None)
    extra['status'] = image.get('status', None)
    extra['archiveSizeBytes'] = image.get('archiveSizeBytes', None)
    extra['diskSizeGb'] = image.get('diskSizeGb', None)
    if ('guestOsFeatures' in image):
        extra['guestOsFeatures'] = image.get('guestOsFeatures', [])
    if ('sourceDisk' in image):
        extra['sourceDisk'] = image.get('sourceDisk', None)
    if ('sourceDiskId' in image):
        extra['sourceDiskId'] = image.get('sourceDiskId', None)
    if ('licenses' in image):
        lic_objs = self._licenses_from_urls(licenses=image['licenses'])
        extra['licenses'] = lic_objs
    return GCENodeImage(id=image['id'], name=image['name'], driver=self, extra=extra)
