diff --git a/analysis.ipynb b/analysis.ipynb index 3371dfb6d6d636342549db339f009b009fc9e235..863c410af1af10e798249b3f5209c0a645935df0 100644 --- a/analysis.ipynb +++ b/analysis.ipynb @@ -107,7 +107,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f917e1a3621a4c08a7c12c18aa8a0745", + "model_id": "55c0f3dc95094e0f8ee083d1997ac940", "version_major": 2, "version_minor": 0 }, @@ -149,7 +149,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7752ca8ab592403ca3f1e4b061c2d3fe", + "model_id": "54e3c81a334c47ae95bee2507aacda1b", "version_major": 2, "version_minor": 0 }, @@ -172,7 +172,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -190,12 +190,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "932e4de9171c474da3cb062ff4b3e8bb", + "model_id": "059a7c25f7164d26a7222c0ca4009466", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "FileChooser(path='/Users/amichaut/Desktop/20230308/08_PID', filename='', title='', show_hidden=False, select_d…" + "FileChooser(path='/Users/amichaut/Desktop/test/01_soft_1', filename='', title='', show_hidden=False, select_de…" ] }, "metadata": {}, @@ -213,13 +213,13 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ - "Saving to: /Users/amichaut/Desktop/20230308/08_PID/info.csv" + "Saving to: /Users/amichaut/Desktop/test/01_soft_1/info.csv" ], "text/plain": [ "<IPython.core.display.Markdown object>" @@ -231,7 +231,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ae1a0a0a2b1e4603a02b0fbcc468f632", + "model_id": "0db6a15247ab4f079091a811fff1d164", "version_major": 2, "version_minor": 0 }, @@ -346,15 +346,15 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "info loaded from /Users/amichaut/Desktop/20230308/08_PID\n", - "{'exp_dir': '20230308/08_PID', 'fn_image_tip': 'tip.tif', 'fn_tip': 'bead_tracking/tip_pos.csv', 'frame_interval': 2, 'canti_id': 15, 'canti_length': 27.02, 'lengthscale': 2.2097, 'PID_fn_list': ['08_PID_in-oil_xyz-locked.csv'], 'sign': -1, 'relax_time': 300, 'set_deflection': 30, 't0_tip': None, 'contact_area': None, 'tip_radius': None}\n" + "info loaded from /Users/amichaut/Desktop/20230224_spheroids/01_soft_1\n", + "{'exp_dir': '20230224_spheroids/01_soft_1', 'fn_image_tip': 'tip.tif', 'fn_tip': 'bead_tracking/tip_pos.csv', 'frame_interval': 2, 'canti_id': 14, 'canti_length': 34.14, 'lengthscale': 1.6573, 'fn_stage': ['01_soft_1.csv'], 'date': '2023:02:24', 't0_tip': '15:34:52.1406', 'contact_area': None, 'tip_radius': None, 'time_adjust': None, 'offset_definition': None}\n" ] } ], @@ -390,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": 257, + "execution_count": 7, "metadata": { "scrolled": false }, @@ -398,12 +398,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ba391f13de034e08a94a4a1e474b2ba9", + "model_id": "9eea4fd8650d4633823436af8b5cc8b5", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "interactive(children=(Text(value='/Users/amichaut/Desktop/20230310_spheroids/40_test/tip.tif', description='fn…" + "interactive(children=(Text(value='/Users/amichaut/Desktop/20230224_spheroids/01_soft_1/tip.tif', description='…" ] }, "metadata": {}, @@ -429,14 +429,14 @@ }, { "cell_type": "code", - "execution_count": 258, + "execution_count": 8, "metadata": { "scrolled": false }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] @@ -459,7 +459,7 @@ }, { "cell_type": "code", - "execution_count": 259, + "execution_count": 9, "metadata": { "scrolled": false }, @@ -468,21 +468,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Running parallel detection over 53 frames\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=6)]: Using backend LokyBackend with 6 concurrent workers.\n", - "[Parallel(n_jobs=6)]: Done 1 tasks | elapsed: 0.0s\n", - "[Parallel(n_jobs=6)]: Batch computation too fast (0.0441s.) Setting batch_size=2.\n", - "[Parallel(n_jobs=6)]: Done 6 tasks | elapsed: 0.1s\n", - "[Parallel(n_jobs=6)]: Done 14 tasks | elapsed: 0.2s\n", - "[Parallel(n_jobs=6)]: Done 28 tasks | elapsed: 0.4s\n", - "[Parallel(n_jobs=6)]: Done 42 out of 53 | elapsed: 0.7s remaining: 0.2s\n", - "[Parallel(n_jobs=6)]: Done 53 out of 53 | elapsed: 0.8s finished\n" + "Running parallel detection over 36 frames\n", + "[########################################] | 100% Completed | 1.27 sms\n" ] }, { @@ -491,13 +478,13 @@ "<Axes: xlabel='frame'>" ] }, - "execution_count": 259, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] diff --git a/manipylator/analysis.py b/manipylator/analysis.py index 1c964d5d1a8ef3ad5bc093c0425dad7c920be701..c8d54401459e6109078289af08df2963d9b34aae 100644 --- a/manipylator/analysis.py +++ b/manipylator/analysis.py @@ -40,12 +40,14 @@ from skimage.feature import match_template import seaborn as sns from aicspylibczi import CziFile from pathlib import Path +import dask +from dask.diagnostics import ProgressBar from scipy.interpolate import interp1d from lmfit import Parameters, Model -import multiprocessing -from joblib import Parallel, delayed +#import multiprocessing +#from joblib import Parallel, delayed import manipylator import manipylator.utils as utils @@ -281,6 +283,7 @@ def track_bead(stack_fn,method="hough_circle",seg_param={},stack=None,outdir=Non return df_out +@dask.delayed def detect_bead_wrapper(image,frame,arg_dict): """ Wrapper function to use detect_bead in a parallel computing @@ -352,9 +355,13 @@ def parallel_track_bead(stack_fn,arg_dict,stack=None): frame_num = stack.shape[0] # run parallel computing + res = [] # list for parallel computing + for frame,image in enumerate(stack): + res.append(detect_bead_wrapper(image,frame,arg_dict)) + print('Running parallel detection over {} frames'.format(frame_num)) - n_jobs = int(0.8 * multiprocessing.cpu_count()) # use 80% of the processors max - Parallel(n_jobs=n_jobs,verbose=10,timeout=1e6)(delayed(detect_bead_wrapper)(image,frame,arg_dict) for frame,image in enumerate(stack)) + with ProgressBar() as pb: + dask.compute(res) # read data pickle_dir = osp.join(arg_dict["outdir"],'data') diff --git a/requirements.txt b/requirements.txt index b7a2c05a8ceeebf73c4170365b3413d5297af21b..f63a7d15036883577492627b86314e534d3c1898 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,5 +10,5 @@ pipython scipy lmfit simple_pid -joblib -aicspylibczi \ No newline at end of file +aicspylibczi +dask \ No newline at end of file