In [1]:
with open('./common_golds.txt') as f:
    data = f.readlines()

In [2]:
data = [i.strip() for i in data]
data[:5]


Out[2]:
['APF00007aq', 'APF00006eq', 'APF000091l', 'APF0000fw6', 'APF000022p']

In [3]:
from planet4 import io

In [4]:
def cluster_and_plot(image_id):
    from planet4 import plotting, clustering,io
    savepath = io.p4data() / 'common_gold_data_dynamic'
    cm = clustering.ClusteringManager(scope='planet4',
                                      output_dir=savepath,
                                      do_dynamic_min_samples=True,
                                      quiet=True)
    cm.cluster_image_id(image_id)
    print("Clustering done, now plotting.")
    plotting.plot_image_id_pipeline(image_id, save=True, datapath=savepath,
                                    savetitle='dynamic_min_sample',
                                    figtitle="min_samples: {}".format(cm.min_samples))
    return image_id

In [5]:
from ipyparallel import Client
c = Client()

In [6]:
lbview = c.load_balanced_view()

In [7]:
data[:5]


Out[7]:
['APF00007aq', 'APF00006eq', 'APF000091l', 'APF0000fw6', 'APF000022p']

In [8]:
cluster_and_plot(data[2])


n_classifications: 9
min_samples: 3
Clustering done, now plotting.
Out[8]:
'APF000091l'

In [9]:
from nbtools import display_multi_progress

In [10]:
results = lbview.map_async(cluster_and_plot, data)

In [11]:
display_multi_progress(results, data)

In [10]:
for res in results:
    print(res)


APF00007aq
---------------------------------------------------------------------------
TimeoutError                              Traceback (most recent call last)
/Users/klay6683/miniconda3/envs/stable/lib/python3.5/site-packages/ipyparallel/client/asyncresult.py in _ordered_iter(self)
    694         try:
--> 695             rlist = self.get(0)
    696         except error.TimeoutError:

/Users/klay6683/miniconda3/envs/stable/lib/python3.5/site-packages/ipyparallel/client/asyncresult.py in get(self, timeout)
    167         else:
--> 168             raise error.TimeoutError("Result not ready.")
    169 

TimeoutError: Result not ready.

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
<ipython-input-10-4b3eaf74c209> in <module>()
----> 1 for res in results:
      2     print(res)

/Users/klay6683/miniconda3/envs/stable/lib/python3.5/site-packages/ipyparallel/client/asyncresult.py in __iter__(self)
    670     def __iter__(self):
    671         it = self._ordered_iter if self.ordered else self._unordered_iter
--> 672         for r in it():
    673             yield r
    674 

/Users/klay6683/miniconda3/envs/stable/lib/python3.5/site-packages/ipyparallel/client/asyncresult.py in _ordered_iter(self)
    699             for child in self._children:
    700                 self._wait_for_child(child, evt=evt)
--> 701                 for r in self._yield_child_results(child):
    702                     yield r
    703         else:

/Users/klay6683/miniconda3/envs/stable/lib/python3.5/site-packages/ipyparallel/client/asyncresult.py in _yield_child_results(self, child)
    679         """
    680         rlist = child.result()
--> 681         error.collect_exceptions(rlist, self._fname)
    682         try:
    683             for r in rlist:

/Users/klay6683/miniconda3/envs/stable/lib/python3.5/site-packages/ipyparallel/error.py in collect_exceptions(rdict_or_list, method)
    210     else:
    211         rlist = rdict_or_list
--> 212     for r in rlist:
    213         if isinstance(r, RemoteError):
    214             en, ev, etb, ei = r.ename, r.evalue, r.traceback, r.engine_info

TypeError: 'RemoteError' object is not iterable

In [18]:
cluster_and_plot(data[0])


n_classifications: 118
min_samples: 3
Out[18]:
'APF00007aq'

In [19]:
from planet4 import plotting

In [21]:
%matplotlib inline

In [22]:
plotting.plot_image_id_pipeline(data[0], datapath=savepath)


Clustered/reduced fanfile not found
Some files not found.

In [27]:
db = io.DBManager()
db


Out[27]:
Database root: /Users/klay6683/Dropbox/data/planet4
Database name: 2016-05-29_planet_four_classifications_queryable_cleaned_seasons2and3.h5

In [ ]: