@staticmethod<EOL><INDENT>def imshow(image, auto_subplot=False, **kwargs):<DEDENT>
if isinstance(image, BinaryImage) or isinstance(image, GrayscaleImage):<EOL><INDENT>plt.imshow(image.data, cmap=plt.cm.gray, **kwargs)<EOL><DEDENT>elif isinstance(image, ColorImage) or isinstance(image, SegmentationImage):<EOL><INDENT>plt.imshow(image.data, **kwargs)<EOL><DEDENT>elif isinstance(image, DepthImage):<EOL><INDENT>plt.imshow(image.data, cmap=plt.cm.gray_r, **kwargs)<EOL><DEDENT>elif isinstance(image, RgbdImage):<EOL><INDENT>if auto_subplot:<EOL><INDENT>plt.subplot(<NUM_LIT:1>,<NUM_LIT:2>,<NUM_LIT:1>)<EOL>plt.imshow(image.color.data, **kwargs)<EOL>plt.axis('<STR_LIT>')<EOL>plt.subplot(<NUM_LIT:1>,<NUM_LIT:2>,<NUM_LIT:2>)<EOL>plt.imshow(image.depth.data, cmap=plt.cm.gray_r, **kwargs)<EOL><DEDENT>else:<EOL><INDENT>plt.imshow(image.color.data, **kwargs)<EOL><DEDENT><DEDENT>elif isinstance(image, GdImage):<EOL><INDENT>if auto_subplot:<EOL><INDENT>plt.subplot(<NUM_LIT:1>,<NUM_LIT:2>,<NUM_LIT:1>)<EOL>plt.imshow(image.gray.data, cmap=plt.cm.gray, **kwargs)<EOL>plt.axis('<STR_LIT>')<EOL>plt.subplot(<NUM_LIT:1>,<NUM_LIT:2>,<NUM_LIT:2>)<EOL>plt.imshow(image.depth.data, cmap=plt.cm.gray_r, **kwargs)<EOL><DEDENT>else:<EOL><INDENT>plt.imshow(image.gray.data, cmap=plt.cm.gray, **kwargs)<EOL><DEDENT><DEDENT>plt.axis('<STR_LIT>')<EOL>
Displays an image.
        Parameters
        ----------
        image : :obj:`perception.Image`
            image to display
        auto_subplot : bool
            whether or not to automatically subplot for multi-channel images e.g. rgbd