From f366631390ef6e2d712826170fd647706bf9bac9 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 27 Sep 2018 15:06:42 -0400 Subject: [PATCH] added tiling zoom proto --- .../movie_writer-checkpoint.ipynb | 144 ++++++++++++++++++ __pycache__/localizer.cpython-36.pyc | Bin 11878 -> 12349 bytes localizer.py | 24 +-- movie_writer.ipynb | 144 ++++++++++++++++++ zoom_gui_test.py | 53 +++++++ 5 files changed, 354 insertions(+), 11 deletions(-) create mode 100755 .ipynb_checkpoints/movie_writer-checkpoint.ipynb create mode 100755 movie_writer.ipynb create mode 100755 zoom_gui_test.py diff --git a/.ipynb_checkpoints/movie_writer-checkpoint.ipynb b/.ipynb_checkpoints/movie_writer-checkpoint.ipynb new file mode 100755 index 0000000..ffd5cf3 --- /dev/null +++ b/.ipynb_checkpoints/movie_writer-checkpoint.ipynb @@ -0,0 +1,144 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import imageio\n", + "import os\n", + "import cv2\n", + "from datetime import datetime\n", + "from tqdm import tqdm_notebook as tqdm" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "in_dir = r'C:\\Users\\Wheeler\\Desktop\\LCL_software\\Experiments\\experiment_18_07_2018___12.20.17.722253'\n", + "out_loc = r'C:\\Users\\Wheeler\\Desktop\\LCL_software\\Experiments\\experiment_18_07_2018___12.20.17.avi'\n", + "images = []\n", + "clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))\n", + "files = [os.path.join(in_dir, f) for f in os.listdir(in_dir) if '.tif' in f] \n", + "\n", + "\n", + "def get_time(file_name):\n", + "# t = file_name.split('_')[-2].split('_')[0]\n", + " t=file_name.split('_')[-1].split('.tif')[0]\n", + " t = datetime.strptime(t, '%H.%M.%S.%f')\n", + " t = t.hour*3600 + t.minute*60 + t.second + t.microsecond/10**6\n", + " return t\n", + " \n", + "\n", + "files.sort(key=get_time,reverse = False)\n", + "# for file in files:\n", + "# print('processing...',file.split('/')[-1])\n", + "# img = cv2.imread(file,0)\n", + "# img = cv2.resize(img,(int(img.shape[1]/3),int(img.shape[0]/3)),interpolation = cv2.INTER_CUBIC)\n", + "# img = clahe.apply(img)\n", + "# images.append(img)\n", + "# images = [images[0]] * 2 + images\n", + "# imageio.mimsave(out_loc, images,duration=.2)\n", + "# print('done')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(822, 1024, 3)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a9c244c465bc40b8bc8e603e2ef92fb0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "A Jupyter Widget" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "done\n" + ] + } + ], + "source": [ + "img = cv2.imread(files[0],1)\n", + "width = img.shape[1]\n", + "height = img.shape[0]\n", + "print(img.shape)\n", + "use_clahe = False\n", + "fourcc = cv2.VideoWriter_fourcc(*'MJPG') # Be sure to use lower case\n", + "out = cv2.VideoWriter(out_loc, fourcc, 14.0, (int(width/1), int(height/1)))\n", + "clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))\n", + "for file in tqdm(files):\n", + " img = cv2.imread(file,1)\n", + " img = cv2.resize(img,(int(width/1),int(height/1)))\n", + " if use_clahe == True:\n", + " r,g,b = img[:,:,0],img[:,:,1],img[:,:,2]\n", + " r = clahe.apply(r)\n", + " g = clahe.apply(g)\n", + " b = clahe.apply(b)\n", + " img[:,:,0] = r\n", + " img[:,:,1] = g\n", + " img[:,:,2] = b\n", + " out.write(img)\n", + "out.release()\n", + "print('done')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/__pycache__/localizer.cpython-36.pyc b/__pycache__/localizer.cpython-36.pyc index 984146bd28f5c34bc3b87411c54223841883672b..14f3529b29e51701748e8410b3fa0ba409fae41d 100755 GIT binary patch delta 3177 zcmZuzeN0=|6@T~H@A+Y4V+;h$rvWGM0Mi7LCLwJwUkS-lNP(4=l)4YU2eD%?-1ic| zn6lNRG$k}!ZATzACoq1=Ulsl zMzwW+@4R!*J@?%6_3oda`q4AaPPg0H8hrP{&8`oen}i%@H%X{acdiQ)4&5~>sD;}f zl3Roj7O@4_Y=R*4!7x1lmY|a~$%sVI1rQX6QZ9>X(MwYr4QQ51veG<_%~`5Qt3Wzy zn@^gw8mJu9AkQ_c&1o}6B$Z6g27zIU00K!>EEuK7Y*9JE96hkM!5tC;Zuge z%~@hww&69)p*u1JP|1*K(URhdE^XP;LZkp_r!J?3c)_l@1w#}M5fki!F!S1N{Oxqd z9)=TwZ3 zT!sU?MEANxoS5QY6$ZaGm8Ol~A?N2&|qehfK< zfuw~1PQD$ahxZI*gb~^bh{Gp7`AwEM$oJEnsp&V*qCyns!b0; zy4CBQ`a}A`bu!Vg0YRB)gq%9OeOC#S;7Qz~76F1K(1Qqv5IPW!BZQgk{442WA3HU2 zo=sNy*_^AGjI%Gg{!V(?eBpPLFo>yy_OKRr&EZ~LGlm?Ietr-A1k&Tk_s}7vG0o^v zgaNkVuB!aZy>a?9d*9tpCfL8+8(_w&r?Y%`cl`uV`6$y1Ea0tRzw`J=g8kF;g6pyS zQtWEcqr_rADbk3>)8Lr5m@I9d^{$ZKD2gF~o?V)vw^cXA(#a~(D^_1Jk)&Bq-|)HN zkx1|9k&e?NJx|j8xb_rt_>PeQ7WVl`Gn??8A!+ueZ#6K8Yl|1Pm=&2$(g+l340AqT zwR8{+X(l&VyyPV??cXI~GRVDq!zZ&ROFiVP>|*JUy(;d|g3yZ4#vU$fC5vpTY>K?W zepVLsts#36V6Wa1_Sn8^@)nEl>srHH#o+eAFrNd^$trcyky**V7Z#WZ8&dx*q8hX82 zNLOGHJ%fOCK{fVHMP*Y~(v5_+O!06Ok4u*jcwO-Eyexr^ah2qWj_oXjVDciNth8*mm5WC1$ z{PmLPC5p(t;s5SIUQ4`;ctN${YHa7!ji3YU{11LR{{et%+GJNNTgVoBzp}#5x4Yk- zd1uBG{E_{ka>2EX>r)8lpoA+WJjOp*y6O-)#ont@8z3e!R0C8P){Abl3gXT*R0scL z+MyduY@^zmq%)|Z8DL0tWh+ceqgEuLnFfta!{cJajLpnx3100v-|{aVcN)c|8bS~O zKZ~>&AnPy}E*nP5U|*^!Yg<6}1IKs~cpt+sv7!Vim-!0uZ2zTZoXFTU=+kVl?j)&W z8+9sKU?0?tyR%Ln&?r=`S-R~BXrk*`lzbIolcgGhE)&U|XV}{fbIqrTg)?r zo6XbYI!f~R^Uz~?L+iz>4SfS3>t2k_>B+@N)WEv~-C~`ME7EH))3m+aI3cd_ow?$> zxP~kKCQ>}HHj#Q0fp7cieJJ0XTaBiuQf}L?q4>8D-a^H%*YPMyBEZMwU8J#1PknD ztU)*l&;`TnVn1zbsrGuC6pvz4>Xj1ZA*E6ADK0Le?x)L42{ro;f^1egzx=p$gdZA$ z+#9+C_s;i1y;Wz?TW!CZd@KoH0T6_aq&95-+?MF%D F{{bNU!=wNJ delta 2752 zcmZveT~Hg>6@d4yw5vsb2oV1u5Eeg+EwHgkY!f@w5I1%v*bc3U6=FqZ7myH=xVr>{ zC1Y2NooO4I3d>2xw}r#!ByB;A*sh=&}K6jR6Tq&+pO%e)OI zcsoL`fX|&>(5ejjyKrc!2#Jld06eGstf{2rcrs)2CbD$!X1tXgY18Hr7*?CvUYJxL zXQS|*I--h4Ize`I%en_nx}q&%vUVlsmw3`POX_r%&nIk-?;-I92=5&8=xT)MU*Et6CfDfVZ@>tRKG665acaI-`D##p;X( zqj61&)tin~RZ%jUjOI0|$YKpfi_y9!!L^E^ngd4E=tJA^O>|1E1D!Om`Rj^d7CAx> z3lY#+65mIN68Z>-2t#nx^JjJfy1fbZ1Y~NPswyozn~NtF?QA@~Y$dJpaL@ZUb`0M2 zeWDHF5}ol!;G)0v&@oznhBPuiyGuSt@>8Vu^HU_t1ab=>h9CNyo4)crX!->F!9U6_ zfL?i%9fyxA54M~xum2`W+ri@JNjvdMpp(r(SKtND;}5Lh$AM$af`0@OY!WV1McC5j z)v7BjbdgL5xJOy$Zc_Mo80u?6Y6qEo4TfqCHxHv&a^<*bB&TfNKvsHJlynp5lw z{HCVBM&Nufgj@{vuywc-TxVH`)()d4QyXQk!tL6h20Cd|%0b>u=z&z-UdCag?h?BV zU)D`kuaKG}(2JCb99P%(vk%}-{n1qyDipj%@Us4dFc_AFWKeOSl#+`QN)E$OV74<) z8Z4Xw&Zg8nE3$%viYM;6d?)W1m7d+0lnc&+a{0TqmUk8zYOWPjv}J~KPUb0;DpKyE zgoUPzTGUcTD@oT7zkqMI zE_iGjE)u?u>DQ?8BFdjZXXpU?6-YQFJgV(_Xf4 zezgV8yA1{Rx`C1>#YDVRkuYA=_%L7Y;oZ3%eLu>T7~2Ds8vkqlzyxzuq|UB+boM(T zdv(PjE5krw5&l@TI#{BeLjQG%u1$w3Mq7wknZT+np!oc|K__;j)Zva-JsZT>*iG z=Gy(gN2NuPmJ~PB#MjOIEGYY()y$1w$`cJQlrT@+oA=r#n0lPHx&T$-<4lLMVV$L6 zB|M?>b=0%X--Z*iXPHc1AzX*kk%%Wl;#SmQInstr<&8+!s5r1VfjISpQ*9pz*HD#U z(-Y0+HIz%frDVp)mXCD<9GzE`S8*n|S?r9-tK!LG<6HDhvGHw^L=9ah=}p3J$Kg;^ zqwuJBYkHNPF8Vr|zeTu9pp@V3NE!lSgrP4_Y)N(>=Ehkebn%Auhw*zIQsr zL1?e!N3tY+LwEA>4*{8#D4C7r0C97&?%7D&2E zxJkH15c%;vlGX{7NFth?Jc%xFB5%QTUt91=QnV6|An39V!yA3QP2HMbb7*Z^jn=R2 z(W*6%Fwi@>4WIS(RAW_Q+djK|&K?w}#qc)v&oz#dx{8{