#!/usr/bin/env python # coding: utf-8 # #Testing out PlanetaryImage # In[1]: get_ipython().run_line_magic('matplotlib', 'inline') from glob import glob import numpy as np import matplotlib.pyplot as plt import matplotlib.image as mpimg from planetaryimage import PDS3Image, CubeFile from scipy.misc import imsave # requires pillow as well from scipy import ndimage # ### Working with PDS Images # # Read in a list of PDS image files. # In[2]: pdsfiles = glob("tests/data/*.img") images = [] for pdsfile in pdsfiles: images.append(PDS3Image.open(pdsfile)) print pdsfile images # What are the types and shapes? # In[3]: for i in images: print i.data.dtype, i.data.shape, i.shape # Displaying a sample Pancam and Mastcam Image # In[4]: pancam1 = images[3] plt.imshow(pancam1.data, cmap='gray') # In[5]: mcam1 = images[0] plt.imshow(mcam1.data, cmap='gray') # Displaying a subframe # In[6]: plt.imshow(mcam1.data[700:1100, 600:1000]) # In[7]: plt.imshow(np.hstack([ mcam1.data[700:1100, 600:1000, 0], mcam1.data[700:1100, 600:1000, 1], mcam1.data[700:1100, 600:1000, 2], ]), cmap='gray') # In[8]: caltarget = mcam1.data[700:1100, 600:1000] plt.imshow(caltarget) # In[9]: imsave('caltarget.png', caltarget) i = mpimg.imread('caltarget.png') plt.imshow(i) # #### Doing some Image Processing # In[10]: plt.hist(pancam1.data.flatten(), 4096) # In[11]: plt.imshow(pancam1.data, cmap='gray', vmin=1400, vmax=2500) print pancam1.data.mean(), pancam1.data.min(), pancam1.data.max() # In[12]: plt.imshow(ndimage.gaussian_filter(pancam1.data, 6), cmap='gray', vmin=1400, vmax=2500) # ### Working with a Tiled Isis CubeFile # In[13]: isisimage = CubeFile.open("tests/data/pattern.cub") # In[14]: isisimage.data.dtype, isisimage.data.shape, isisimage.shape # In[15]: plt.imshow(isisimage.data, cmap='gray') # In[ ]: