In [1]:
import planet4 as p4
from planet4 import io, markings

In [2]:
p4.__version__


Out[2]:
'0.7.3'

In [3]:
db = io.DBManager()
db.dbname


Out[3]:
'/Users/klay6683/Dropbox/data/planet4/2016-05-29_planet_four_classifications_queryable_cleaned_seasons2and3.h5'

In [4]:
data = db.get_all()

In [5]:
data.info()


<class 'pandas.core.frame.DataFrame'>
Int64Index: 13470293 entries, 2 to 14059906
Data columns (total 21 columns):
classification_id    object
created_at           datetime64[ns]
image_id             object
image_name           object
image_url            object
user_name            object
marking              object
x_tile               int64
y_tile               int64
acquisition_date     datetime64[ns]
local_mars_time      object
x                    float64
y                    float64
image_x              float64
image_y              float64
radius_1             float64
radius_2             float64
distance             float64
angle                float64
spread               float64
version              float64
dtypes: datetime64[ns](2), float64(10), int64(2), object(7)
memory usage: 2.2+ GB

In [6]:
%matplotlib nbagg

In [8]:
from matplotlib import colors

In [9]:
delta=25

In [10]:
q = '{} < x < {} and {} < y < {}'.format(-delta, markings.img_x_size + delta,
                                         -delta, markings.img_y_size + delta)

In [11]:
subdata = data.query(q)

In [ ]:
from pathlib import Path

folder = Path('./plots/new_data_file')
folder.mkdir(exist_ok=True)

In [ ]:
def do_2d_hist(cols, data, bins=500, pretext=''):
    plt.figure(figsize=(8.4, 6.48))
    plt.hist2d(data[cols[0]].fillna(-99), data[cols[1]].fillna(-99),
               cmap='viridis', bins=bins, norm=colors.LogNorm())
    plt.colorbar()
    plt.savefig(str(folder / (pretext + '{}_{}_2dhist.png'.format(cols[0], cols[1]))), dpi=150)

In [ ]:
do_2d_hist(['x','y'], data)

In [ ]:
do_2d_hist('radius_1 radius_2'.split(), blotches, pretext='blotches_')

In [ ]:
data.columns

In [ ]:
do_2d_hist(['distance','angle'], data)

In [ ]:
do_2d_hist('spread angle'.split(), data)

In [ ]:
fans = data[data.marking=='fan']
blotches = data[data.marking=='blotch']

In [ ]:
do_2d_hist('x y'.split(), fans, pretext='fans_')

In [ ]:
do_2d_hist('x y'.split(), blotches, pretext='blotches_')

In [ ]:
do_2d_hist('radius_1 radius_2'.split(), blotches, pretext='blotches_')

In [ ]:
do_2d_hist('spread angle'.split(), fans, pretext='fans_')

In [ ]: