├── video ├── 20170404-potatoes.avi ├── 20170404-potatoes.gif └── 20170404-potatoes-rotated.gif ├── uprobe1.jpg ├── uProbeTools.pyc ├── images ├── line_sample.png ├── image_sample.png ├── onlineviewer.png └── 20170404-potatoes.dcm ├── data └── 2017_03_01_193826.pcap ├── README.md ├── uProbeTools.py ├── pythonSDK └── test5003.py ├── 20170411-DICOM.ipynb ├── 20170410-CrackingHeaders.ipynb └── 20170404-Crunching_Video.ipynb /video/20170404-potatoes.avi: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /uprobe1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/uprobe1.jpg -------------------------------------------------------------------------------- /uProbeTools.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/uProbeTools.pyc -------------------------------------------------------------------------------- /images/line_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/images/line_sample.png -------------------------------------------------------------------------------- /images/image_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/images/image_sample.png -------------------------------------------------------------------------------- /images/onlineviewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/images/onlineviewer.png -------------------------------------------------------------------------------- /data/2017_03_01_193826.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/data/2017_03_01_193826.pcap -------------------------------------------------------------------------------- /video/20170404-potatoes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/video/20170404-potatoes.gif -------------------------------------------------------------------------------- /images/20170404-potatoes.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/images/20170404-potatoes.dcm -------------------------------------------------------------------------------- /video/20170404-potatoes-rotated.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kelu124/pyUProbe1/HEAD/video/20170404-potatoes-rotated.gif -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## A basic python framework to communicate with a ultrasound probe 2 | 3 | Seems to work well with UProbe-1 Wireless Probe Ultrasound Scanner 4 | 5 | * [Raw PCAP](/data/2017_03_01_193826.pcap) of the wireless traffic during acquisition 6 | 7 | Basic acquisition while connected to the probe: 8 | 9 | * [Listening to 5002](/pythonSDK/test5002.py) for data 10 | * [Listening to 5003](/pythonSDK/test5003.py) for info 11 | 12 | These tools create (via piping) the data files on which subsequent notebooks work on. (aka use _python test5002.py > 20170404-patates.data_ to get the data). 13 | 14 | Some notebooks: 15 | 16 | * [Understanding the headers](/20170410-CrackingHeaders.ipynb) 17 | * [Getting data, and processing it in a video](/20170404-Crunching_Video.ipynb) 18 | * [Creating a pseudo-valid DICOM with data](/20170411-DICOM.ipynb) 19 | 20 | 21 | 22 | 23 | 24 | ![](/uprobe1.jpg) 25 | 26 | 27 | ### Some loops ? 28 | 29 | Before scan conversion: 30 | 31 | ![](/video/20170404-potatoes.gif) 32 | 33 | ### Others 34 | 35 | Licensed under CC-BY-SA 4.0 36 | 37 | (c) kelu124, 2017 38 | -------------------------------------------------------------------------------- /uProbeTools.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import matplotlib 3 | import matplotlib.pyplot as plt 4 | import time 5 | import binascii 6 | # For videos 7 | import subprocess 8 | matplotlib.use('Agg') 9 | from PIL import Image 10 | 11 | def CreateUSData(DataName,RAWDATA_LINE_IN_FRAME,RAWDATA_SAMPLE_IN_LINE): 12 | RawData = [] 13 | Line = [] 14 | BegLines = [] 15 | video = [] 16 | 17 | with open('data/'+DataName+'.data') as fp: 18 | for line in fp: 19 | if ":5002 " in line: 20 | RawData.append(line.strip().split(":5002 ")[1]) 21 | LenOfLines = len(RawData[0]) 22 | ## Creating the array 23 | for j in range(len(RawData)): 24 | Data = RawData[j] 25 | for i in range(LenOfLines/2): 26 | Line.append(int(Data[2*i]+Data[2*i+1], 32)) 27 | ## Knowing where the images start 28 | for pos in range(len(Line)-2): 29 | if (Line[pos] == 170): 30 | if (Line[pos+1] == 325): 31 | if (Line[pos+4] == 170): 32 | if (Line[pos+5] == 325): 33 | BegLines.append(pos-1) 34 | NbImages = (int)(len(BegLines)/RAWDATA_LINE_IN_FRAME) 35 | ## Assembling the video 36 | for k in range(NbImages): 37 | image = [] 38 | for i in range(RAWDATA_LINE_IN_FRAME): 39 | line = [] 40 | for j in range(RAWDATA_SAMPLE_IN_LINE): 41 | line.append(Line[BegLines[i+RAWDATA_LINE_IN_FRAME*k]+j]) 42 | image.append(line) 43 | 44 | video.append(np.array(image).astype(float)) 45 | 46 | return NbImages,video 47 | 48 | 49 | 50 | def CreateUSVideo(video,DataName,NbImages,VideoFrameRate): 51 | VideoFilName = "./video/"+DataName+'.avi' 52 | cmdstring = ('ffmpeg', 53 | '-y', 54 | '-r', '%d' % VideoFrameRate, 55 | '-f','image2pipe', 56 | '-vcodec', 'mjpeg', 57 | '-i', 'pipe:', 58 | '-vcodec', 'libxvid', 59 | VideoFilName 60 | ) 61 | p = subprocess.Popen(cmdstring, stdin=subprocess.PIPE, shell=False) 62 | for i in range(NbImages): 63 | im = Image.fromarray(np.uint8(np.transpose(video[i]))) 64 | p.stdin.write(im.tobytes('jpeg','L')) 65 | #p.communicate(im.tostring('jpeg','L')) 66 | p.stdin.close() 67 | return 1 68 | -------------------------------------------------------------------------------- /pythonSDK/test5003.py: -------------------------------------------------------------------------------- 1 | from time import gmtime, strftime 2 | import socket 3 | import binascii 4 | 5 | ## Tester le port 5003 6 | 7 | client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 8 | client_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 9 | client_socket.connect(('192.168.1.1', 5003)) 10 | print "Print connected" 11 | for k in range(64): 12 | 13 | data = client_socket.recv(18) 14 | DT = strftime("%Y-%m-%d %H:%M:%S", gmtime()) 15 | print "["+DT+"]192.168.1.1:5003" , binascii.hexlify(data).decode("utf-8") 16 | 17 | client_socket.close() 18 | 19 | ''' 20 | Print connected 21 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 22 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 23 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 24 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 25 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 26 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 27 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 28 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 29 | [2017-04-01 13:51:59]192.168.1.1:5003 5aa50064 30 | [2017-04-01 13:52:00]192.168.1.1:5003 5aa50064 31 | [2017-04-01 13:52:00]192.168.1.1:5003 5aa50064 32 | [2017-04-01 13:52:00]192.168.1.1:5003 5aa50064 33 | [2017-04-01 13:52:00]192.168.1.1:5003 5aa58064 ---> When the probe runs (ie IsRunning = True) 34 | [2017-04-01 13:52:00]192.168.1.1:5003 5aa58064 35 | [2017-04-01 13:52:00]192.168.1.1:5003 5aa58064 36 | [2017-04-01 13:52:00]192.168.1.1:5003 5aa58064 37 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa58064 38 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa58064 39 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa58064 40 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa50064 ---> When the probe doesn't (ie IsRunning = True) 41 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa50064 42 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa50064 43 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa50064 44 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa50064 45 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa50064 46 | [2017-04-01 13:52:01]192.168.1.1:5003 5aa50064 47 | [2017-04-01 13:52:02]192.168.1.1:5003 5aa50064 --> Start of Images for 1 s 48 | [2017-04-01 13:52:02]192.168.1.1:5003 5aa50064 49 | [2017-04-01 13:52:02]192.168.1.1:5003 5aa50064 50 | [2017-04-01 13:52:02]192.168.1.1:5003 5aa58064 51 | [2017-04-01 13:52:02]192.168.1.1:5003 5aa58064 52 | [2017-04-01 13:52:02]192.168.1.1:5003 5aa58064 53 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa58064 --> End of Images for 1 s -- that's roughly here 8 imgs/s 54 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa58064 55 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa58064 56 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa50064 57 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa50064 58 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa50064 59 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa50064 60 | [2017-04-01 13:52:03]192.168.1.1:5003 5bb57f0d574d5042464c4131323600000000 61 | [2017-04-01 13:52:03]192.168.1.1:5003 00005aa50064 62 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa50064 63 | [2017-04-01 13:52:03]192.168.1.1:5003 5aa50064 64 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 65 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 66 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 67 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 68 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 69 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 70 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 71 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 72 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 73 | [2017-04-01 13:52:04]192.168.1.1:5003 5aa50064 74 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 75 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 76 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 77 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 78 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 79 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 80 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 81 | [2017-04-01 13:52:05]192.168.1.1:5003 5bb57f0d574d5042464c4131323600000000 82 | [2017-04-01 13:52:05]192.168.1.1:5003 00005aa50064 83 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 84 | [2017-04-01 13:52:05]192.168.1.1:5003 5aa50064 85 | 86 | ''' 87 | -------------------------------------------------------------------------------- /20170411-DICOM.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 16, 6 | "metadata": { 7 | "collapsed": false 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "from uProbeTools import *\n", 12 | "# DICOM\n", 13 | "import dicom, dicom.UID\n", 14 | "from dicom.dataset import Dataset, FileDataset\n", 15 | "import numpy as np\n", 16 | "import datetime, time\n", 17 | "# Constants\n", 18 | "RAWDATA_LINE_IN_FRAME = 128\n", 19 | "RAWDATA_SAMPLE_IN_LINE = 512\n", 20 | "# Dataset for this exercise\n", 21 | "DataSetName = \"20170404-potatoes\"\n", 22 | "FrameRate = 12" 23 | ] 24 | }, 25 | { 26 | "cell_type": "markdown", 27 | "metadata": {}, 28 | "source": [ 29 | "## Let's load the images and video" 30 | ] 31 | }, 32 | { 33 | "cell_type": "code", 34 | "execution_count": 15, 35 | "metadata": { 36 | "collapsed": false 37 | }, 38 | "outputs": [ 39 | { 40 | "name": "stdout", 41 | "output_type": "stream", 42 | "text": [ 43 | "(128, 525)\n" 44 | ] 45 | } 46 | ], 47 | "source": [ 48 | "Patates = CreateUSData(DataSetName,RAWDATA_LINE_IN_FRAME,RAWDATA_SAMPLE_IN_LINE+(525-512))\n", 49 | "print((Patates[1][0].shape))" 50 | ] 51 | }, 52 | { 53 | "cell_type": "code", 54 | "execution_count": 37, 55 | "metadata": { 56 | "collapsed": false 57 | }, 58 | "outputs": [], 59 | "source": [ 60 | "def write_dicom(pixel_array,filename):\n", 61 | " \"\"\"\n", 62 | " INPUTS:\n", 63 | " pixel_array: 2D numpy ndarray. If pixel_array is larger than 2D, errors.\n", 64 | " filename: string name for the output file.\n", 65 | " \"\"\"\n", 66 | "\n", 67 | " ## This code block was taken from the output of a MATLAB secondary\n", 68 | " ## capture.\n", 69 | " file_meta = Dataset()\n", 70 | " file_meta.MediaStorageSOPClassUID = 'Ultrasound Image Storage'\n", 71 | " file_meta.MediaStorageSOPInstanceUID = '1.2.840.10008.5.1.4.1.1.6.1' # Ultrasound\n", 72 | " file_meta.ImplementationClassUID = '1.3.6.1.4.1.9590.100.1.0.100.4.0'\n", 73 | " ds = FileDataset(filename, {},file_meta = file_meta,preamble=\"\\0\"*128)\n", 74 | " ds.Modality = 'WSD' # Workstation\n", 75 | " ds.ContentDate = str(datetime.date.today()).replace('-','')\n", 76 | " ds.ContentTime = str(time.time()) #milliseconds since the epoch\n", 77 | " #ds.StudyInstanceUID = '1.3.6.1.4.1.9590.100.1.1.124313977412360175234271287472804872093'\n", 78 | " #ds.SeriesInstanceUID = '1.3.6.1.4.1.9590.100.1.1.369231118011061003403421859172643143649'\n", 79 | " #ds.SOPInstanceUID = '1.3.6.1.4.1.9590.100.1.1.111165684411017669021768385720736873780'\n", 80 | " ds.SOPClassUID = 'Ultrasound Image Storage'\n", 81 | " ds.SecondaryCaptureDeviceManufctur = 'Kina - Python 2 - http://github.com/kelu124/kina/'\n", 82 | " ## These are the necessary imaging components of the FileDataset object.\n", 83 | " ds.SamplesPerPixel = 1\n", 84 | " ds.PhotometricInterpretation = \"MONOCHROME2\"\n", 85 | " ds.PixelRepresentation = 0\n", 86 | " ds.HighBit = 15\n", 87 | " ds.BitsStored = 16\n", 88 | " ds.BitsAllocated = 16\n", 89 | " ds.SmallestImagePixelValue = '\\\\x00\\\\x00'\n", 90 | " ds.LargestImagePixelValue = '\\\\xff\\\\xff'\n", 91 | " # Creating the image itself\n", 92 | " pixel_array = np.array(np.transpose(pixel_array))\n", 93 | " ds.Columns = pixel_array.shape[1]\n", 94 | " ds.Rows = pixel_array.shape[0]\n", 95 | " if pixel_array.dtype != np.uint16:\n", 96 | " pixel_array = pixel_array.astype(np.uint16)\n", 97 | " ds.PixelData = pixel_array.tostring()\n", 98 | " ds.save_as(filename)\n", 99 | " return filename" 100 | ] 101 | }, 102 | { 103 | "cell_type": "markdown", 104 | "metadata": {}, 105 | "source": [ 106 | "## Testing the code" 107 | ] 108 | }, 109 | { 110 | "cell_type": "code", 111 | "execution_count": 39, 112 | "metadata": { 113 | "collapsed": false 114 | }, 115 | "outputs": [ 116 | { 117 | "data": { 118 | "text/plain": [ 119 | "'images/20170404-potatoes.dcm'" 120 | ] 121 | }, 122 | "execution_count": 39, 123 | "metadata": {}, 124 | "output_type": "execute_result" 125 | } 126 | ], 127 | "source": [ 128 | "write_dicom(Patates[1][0],\"images/\"+DataSetName+\".dcm\")" 129 | ] 130 | }, 131 | { 132 | "cell_type": "code", 133 | "execution_count": null, 134 | "metadata": { 135 | "collapsed": true 136 | }, 137 | "outputs": [], 138 | "source": [] 139 | } 140 | ], 141 | "metadata": { 142 | "kernelspec": { 143 | "display_name": "Python 2", 144 | "language": "python", 145 | "name": "python2" 146 | }, 147 | "language_info": { 148 | "codemirror_mode": { 149 | "name": "ipython", 150 | "version": 2 151 | }, 152 | "file_extension": ".py", 153 | "mimetype": "text/x-python", 154 | "name": "python", 155 | "nbconvert_exporter": "python", 156 | "pygments_lexer": "ipython2", 157 | "version": "2.7.12" 158 | } 159 | }, 160 | "nbformat": 4, 161 | "nbformat_minor": 2 162 | } 163 | -------------------------------------------------------------------------------- /20170410-CrackingHeaders.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 48, 6 | "metadata": { 7 | "collapsed": false 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "from uProbeTools import *\n", 12 | "\n", 13 | "# Constants\n", 14 | "RAWDATA_LINE_IN_FRAME = 128\n", 15 | "RAWDATA_SAMPLE_IN_LINE = 512\n", 16 | "# Dataset for this exercise\n", 17 | "DataSetName = \"20170404-potatoes\"\n", 18 | "FrameRate = 12" 19 | ] 20 | }, 21 | { 22 | "cell_type": "markdown", 23 | "metadata": {}, 24 | "source": [ 25 | "## Let's load the images and video" 26 | ] 27 | }, 28 | { 29 | "cell_type": "code", 30 | "execution_count": 56, 31 | "metadata": { 32 | "collapsed": false 33 | }, 34 | "outputs": [], 35 | "source": [ 36 | "Patates = CreateUSData(DataSetName,RAWDATA_LINE_IN_FRAME,RAWDATA_SAMPLE_IN_LINE+(525-512))\n", 37 | "#print(\"Images: \"+str(Patates[0]))\n", 38 | "#print(len(Patates[1][1][0]))" 39 | ] 40 | }, 41 | { 42 | "cell_type": "code", 43 | "execution_count": 57, 44 | "metadata": { 45 | "collapsed": false 46 | }, 47 | "outputs": [ 48 | { 49 | "name": "stdout", 50 | "output_type": "stream", 51 | "text": [ 52 | "Video created at /video/20170404-potatoes.avi\n" 53 | ] 54 | } 55 | ], 56 | "source": [ 57 | "if(CreateUSVideo(Patates[1],DataSetName,Patates[0],FrameRate)):\n", 58 | " print(\"Video created at /video/\"+DataSetName+\".avi\")" 59 | ] 60 | }, 61 | { 62 | "cell_type": "markdown", 63 | "metadata": { 64 | "collapsed": true 65 | }, 66 | "source": [ 67 | "## Let's now explore the data\n", 68 | "\n", 69 | "Let's play with headers / hidden data\n", 70 | "\n", 71 | "There are 525 points per line, for 512 long data. That's 13 points of data hiding some information!\n" 72 | ] 73 | }, 74 | { 75 | "cell_type": "code", 76 | "execution_count": 51, 77 | "metadata": { 78 | "collapsed": false 79 | }, 80 | "outputs": [], 81 | "source": [ 82 | "# Arbitrary image and offset between two images\n", 83 | "ImageRef = 2\n", 84 | "RefOffset = 3\n", 85 | "image = np.array(np.transpose(Patates[1][ImageRef])).astype(int)\n", 86 | "image2 = np.array(np.transpose(Patates[1][ImageRef+RefOffset])).astype(int)" 87 | ] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "execution_count": 52, 92 | "metadata": { 93 | "collapsed": false 94 | }, 95 | "outputs": [ 96 | { 97 | "name": "stdout", 98 | "output_type": "stream", 99 | "text": [ 100 | "[[ 0 0 0 0 0]\n", 101 | " [170 170 170 170 170]\n", 102 | " [325 325 325 325 325]\n", 103 | " [495 495 495 495 495]\n", 104 | " [ 0 0 0 0 0]\n", 105 | " [170 170 170 170 170]\n", 106 | " [325 325 325 325 325]\n", 107 | " [495 495 495 495 495]]\n" 108 | ] 109 | } 110 | ], 111 | "source": [ 112 | "# The 8 first lines show 2x a pattern to mark the beginning of a line\n", 113 | "print(image2[0:8,0:5])" 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 53, 119 | "metadata": { 120 | "collapsed": false 121 | }, 122 | "outputs": [ 123 | { 124 | "name": "stdout", 125 | "output_type": "stream", 126 | "text": [ 127 | "[3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n", 128 | " 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n", 129 | " 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\n", 130 | " 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3]\n", 131 | "Offset: 3\n" 132 | ] 133 | } 134 | ], 135 | "source": [ 136 | "# Line 8 seems to encode the number of the image\n", 137 | "ImageCounterPos = 9\n", 138 | "print(image2[ImageCounterPos]-image[ImageCounterPos])\n", 139 | "print(\"Offset: \"+str(RefOffset))" 140 | ] 141 | }, 142 | { 143 | "cell_type": "code", 144 | "execution_count": 54, 145 | "metadata": { 146 | "collapsed": false 147 | }, 148 | "outputs": [ 149 | { 150 | "name": "stdout", 151 | "output_type": "stream", 152 | "text": [ 153 | "[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 32 33\n", 154 | " 34 35 36 37 38 39 40 41 42 43 44 45 46 47 64 65 66 67\n", 155 | " 68 69 70 71 72 73 74 75 76 77 78 79 96 97 98 99 100 101\n", 156 | " 102 103 104 105 106 107 108 109 110 111 128 129 130 131 132 133 134 135\n", 157 | " 136 137 138 139 140 141 142 143 160 161 162 163 164 165 166 167 168 169\n", 158 | " 170 171 172 173 174 175 192 193 194 195 196 197 198 199 200 201 202 203\n", 159 | " 204 205 206 207 224 225 226 227 228 229 230 231 232 233 234 235 236 237\n", 160 | " 238 239]\n" 161 | ] 162 | } 163 | ], 164 | "source": [ 165 | "# and Line 10 the position of the line in the image\n", 166 | "LineCounterPost = 10\n", 167 | "print(image2[LineCounterPost])" 168 | ] 169 | }, 170 | { 171 | "cell_type": "code", 172 | "execution_count": 55, 173 | "metadata": { 174 | "collapsed": false 175 | }, 176 | "outputs": [ 177 | { 178 | "name": "stdout", 179 | "output_type": "stream", 180 | "text": [ 181 | "[[0 0 0 0 0 0 0 0 0 0 0 0 0]\n", 182 | " [0 0 0 0 0 0 0 0 0 0 0 0 0]]\n" 183 | ] 184 | } 185 | ], 186 | "source": [ 187 | "#And the end of the line is null\n", 188 | "print(image2[523:525,0:13])" 189 | ] 190 | }, 191 | { 192 | "cell_type": "markdown", 193 | "metadata": {}, 194 | "source": [ 195 | "## And that's it for today!\n", 196 | "\n", 197 | "We've seen the structure of the images and data hidden in the layers, yeayy!" 198 | ] 199 | }, 200 | { 201 | "cell_type": "code", 202 | "execution_count": null, 203 | "metadata": { 204 | "collapsed": true 205 | }, 206 | "outputs": [], 207 | "source": [] 208 | } 209 | ], 210 | "metadata": { 211 | "kernelspec": { 212 | "display_name": "Python 2", 213 | "language": "python", 214 | "name": "python2" 215 | }, 216 | "language_info": { 217 | "codemirror_mode": { 218 | "name": "ipython", 219 | "version": 2 220 | }, 221 | "file_extension": ".py", 222 | "mimetype": "text/x-python", 223 | "name": "python", 224 | "nbconvert_exporter": "python", 225 | "pygments_lexer": "ipython2", 226 | "version": "2.7.12" 227 | } 228 | }, 229 | "nbformat": 4, 230 | "nbformat_minor": 2 231 | } 232 | -------------------------------------------------------------------------------- /20170404-Crunching_Video.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Crunching a 1024 packet log\n", 8 | "\n", 9 | "## Importing \n", 10 | "\n", 11 | "And setting up the big constants" 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 1, 17 | "metadata": { 18 | "collapsed": false 19 | }, 20 | "outputs": [ 21 | { 22 | "name": "stderr", 23 | "output_type": "stream", 24 | "text": [ 25 | "/usr/lib/python2.7/dist-packages/matplotlib/__init__.py:1352: UserWarning: This call to matplotlib.use() has no effect\n", 26 | "because the backend has already been chosen;\n", 27 | "matplotlib.use() must be called *before* pylab, matplotlib.pyplot,\n", 28 | "or matplotlib.backends is imported for the first time.\n", 29 | "\n", 30 | " warnings.warn(_use_error_msg)\n" 31 | ] 32 | } 33 | ], 34 | "source": [ 35 | "import numpy as np\n", 36 | "import matplotlib\n", 37 | "import matplotlib.pyplot as plt\n", 38 | "import time\n", 39 | "import binascii\n", 40 | "# For videos\n", 41 | "import subprocess\n", 42 | "matplotlib.use('Agg')\n", 43 | "from PIL import Image\n", 44 | "# Constats\n", 45 | "RAWDATA_LINE_IN_FRAME = 128\n", 46 | "RAWDATA_SAMPLE_IN_LINE = 512" 47 | ] 48 | }, 49 | { 50 | "cell_type": "markdown", 51 | "metadata": {}, 52 | "source": [ 53 | "## Creating the video\n", 54 | "\n", 55 | "We can open the data/video.data file and check that we have 1024 lines of 1400 bytes" 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": 2, 61 | "metadata": { 62 | "collapsed": false 63 | }, 64 | "outputs": [ 65 | { 66 | "name": "stdout", 67 | "output_type": "stream", 68 | "text": [ 69 | "1024\n", 70 | "2800\n" 71 | ] 72 | } 73 | ], 74 | "source": [ 75 | "RawData = []\n", 76 | "DataName = \"20170404-potatoes\"\n", 77 | "with open('data/'+DataName+'.data') as fp:\n", 78 | " for line in fp:\n", 79 | "\tif \":5002 \" in line:\n", 80 | "\t RawData.append(line.strip().split(\":5002 \")[1])\n", 81 | "\n", 82 | "print(len(RawData))\n", 83 | "LenOfLines = len(RawData[0])\n", 84 | "\n", 85 | "print(LenOfLines) # 2800 items\n", 86 | "#print len(bin(int(RawData[0], 16))[2:])\n", 87 | "# Tables of images are : 65536 points long\n" 88 | ] 89 | }, 90 | { 91 | "cell_type": "markdown", 92 | "metadata": {}, 93 | "source": [ 94 | "## Creating the video file\n", 95 | "\n", 96 | "We can start with recreating the binary values for each point and check how many points we have. We should have 1024x1400" 97 | ] 98 | }, 99 | { 100 | "cell_type": "code", 101 | "execution_count": 3, 102 | "metadata": { 103 | "collapsed": false 104 | }, 105 | "outputs": [ 106 | { 107 | "name": "stdout", 108 | "output_type": "stream", 109 | "text": [ 110 | "1433600\n" 111 | ] 112 | } 113 | ], 114 | "source": [ 115 | "Line = []\n", 116 | "BegLines = []\n", 117 | "\n", 118 | "for j in range(len(RawData)):\n", 119 | " Data = RawData[j]\n", 120 | " for i in range(LenOfLines/2):\n", 121 | " Line.append(int(Data[2*i]+Data[2*i+1], 32))\n", 122 | "print(len(Line))" 123 | ] 124 | }, 125 | { 126 | "cell_type": "markdown", 127 | "metadata": {}, 128 | "source": [ 129 | "## Let's find out where the lines start\n", 130 | "\n", 131 | "We'll see that there's a pattern at the beginning of each line.. so we can know where each line starts, and check the 30 first points of a random line. The first 10 points represent the pattern." 132 | ] 133 | }, 134 | { 135 | "cell_type": "code", 136 | "execution_count": 4, 137 | "metadata": { 138 | "collapsed": false 139 | }, 140 | "outputs": [ 141 | { 142 | "name": "stdout", 143 | "output_type": "stream", 144 | "text": [ 145 | "21 images in this sequence\n" 146 | ] 147 | }, 148 | { 149 | "data": { 150 | "image/png": "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\n", 151 | "text/plain": [ 152 | "" 153 | ] 154 | }, 155 | "metadata": {}, 156 | "output_type": "display_data" 157 | } 158 | ], 159 | "source": [ 160 | "BegLines=[]\n", 161 | "for pos in range(len(Line)-2):\n", 162 | " if (Line[pos] == 170):\n", 163 | " if (Line[pos+1] == 325):\n", 164 | " if (Line[pos+4] == 170):\n", 165 | " if (Line[pos+5] == 325):\n", 166 | " #print(str(pos)+\" - \"+str(Line[pos]))\n", 167 | " BegLines.append(pos)\n", 168 | "#print(len(BegLines))\n", 169 | "#print(BegLines)\n", 170 | "NbImages = (int)(len(BegLines)/RAWDATA_LINE_IN_FRAME)\n", 171 | "print(str(NbImages)+\" images in this sequence\")\n", 172 | "#print(21*128*512)\n", 173 | "ref = BegLines[45]-2\n", 174 | "kk = 128*2+2\n", 175 | "#print(BegLines[kk]-BegLines[kk+1])\n", 176 | "plt.plot(Line[ref:ref+30])\n", 177 | "\n", 178 | "plt.show()" 179 | ] 180 | }, 181 | { 182 | "cell_type": "markdown", 183 | "metadata": {}, 184 | "source": [ 185 | "## Creating the video array\n", 186 | "\n", 187 | "The video will have as many images as we have captured, based on images of RAWDATA_LINE_IN_FRAME x RAWDATA_SAMPLE_IN_LINE.\n", 188 | "\n", 189 | "Let's check the size of it at the end." 190 | ] 191 | }, 192 | { 193 | "cell_type": "code", 194 | "execution_count": 5, 195 | "metadata": { 196 | "collapsed": false 197 | }, 198 | "outputs": [ 199 | { 200 | "name": "stdout", 201 | "output_type": "stream", 202 | "text": [ 203 | "(128, 512)\n" 204 | ] 205 | } 206 | ], 207 | "source": [ 208 | "video = []\n", 209 | "\n", 210 | "for k in range(NbImages):\n", 211 | " image = []\n", 212 | " for i in range(RAWDATA_LINE_IN_FRAME):\n", 213 | " line = []\n", 214 | " for j in range(RAWDATA_SAMPLE_IN_LINE):\n", 215 | " line.append(Line[BegLines[i+RAWDATA_LINE_IN_FRAME*k]+j]/2)\n", 216 | "\n", 217 | " image.append(line)\n", 218 | " video.append(image)\n", 219 | " \n", 220 | "image = np.array(image).astype(float)\n", 221 | "video.append(image)\n", 222 | "print(image.shape)" 223 | ] 224 | }, 225 | { 226 | "cell_type": "code", 227 | "execution_count": 6, 228 | "metadata": { 229 | "collapsed": false 230 | }, 231 | "outputs": [], 232 | "source": [ 233 | "def ShowImage(ImageToPlot):\n", 234 | " plt.figure(figsize=(4, 4))\n", 235 | " plt.gray()\n", 236 | " plt.imshow(ImageToPlot.reshape(ImageToPlot.shape), aspect='auto')\n", 237 | " plt.show()" 238 | ] 239 | }, 240 | { 241 | "cell_type": "code", 242 | "execution_count": 7, 243 | "metadata": { 244 | "collapsed": false 245 | }, 246 | "outputs": [ 247 | { 248 | "data": { 249 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWkAAAFkCAYAAADi5cqQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsvX2ob+t23zXmWnu9r73PPif33vTaGEwINE0KoU2LLbFW\nCBgq9Q2DjSiKQWJjDaV/SFUClTagKNbQtFUJJdWiQpsqFhRTWhTsazS2jdjEEGhJ7b33nJt999t6\nf5v+sfdnrs/8rjF/a++Te3PO2qwBi7XW7zfnM59nPOMZ4ztenmcO4zjWPd3TPd3TPX06ae2T7sA9\n3dM93dM9LdO9kr6ne7qne/oU072Svqd7uqd7+hTTvZK+p3u6p3v6FNO9kr6ne7qne/oU072Svqd7\nuqd7+hTTvZK+p3u6p3v6FNO9kr6ne7qne/oU072Svqd7uqd7+hTTvZK+p3u6p3v6FNMnqqSHYfi9\nwzD83WEYjodh+OvDMPyWT7I/93RP93RPnzb6xJT0MAy/u6r+06r6g1X1G6vqb1fVTw3D8JlPqk/3\ndE/3dE+fNho+qQOWhmH461X1N8Zx/H2v/x+q6u9X1R8dx/E//kQ6dU/3dE/39CmjTwRJD8OwUVXf\nWVV/ic/GV9biL1bVb/sk+nRP93RP9/RppAef0HM/U1XrVfVhfP5hVf26vHgYhq+rqu+pqr9XVSdf\n687d0z3d0z39KtB2Vf0jVfVT4zg+Wbrok1LSb0vfU1X/zSfdiXu6p3u6p68B/ctV9d8ufflJKelf\nrqrLqvr6+Pzrq+pLzfV/r6pqfX29dnZ2Zl+899579d57730Nuvi1oV/6pV+qb/zGb/yku/Gx6b7/\nnzzd9THc9f5Xvf0Ynj9/Xs+fP599dnV1VUdHR1Wv9dsSfSJKehzH82EYfqaqvruq/nzVlDj87qr6\no80tJ1VV3/Zt31Y/+qM/+qvWz68F/fAP/3D9yI/8yCfdjY9N9/3/5Omuj+Gu97/qqzOGX/iFX6gf\n/MEfrLolhPtJVnf8i1X1p6rq91TVT1fV76+q762qbx3H8ctx7W+qqp/Z2NioDz744Fe7q19Vevr0\nab3//vufdDc+Nt33/5Onuz6Gu97/qq/OGM7Pz+srX/lKVdV3juP4fy1d94nFpMdx/DOva6L/UL0K\nc/ytqvqeVNCm8/Pz+vDDV7nGV8C7p1XffbWvWVtbq7W1tRvXLt17eXlZL1++/Kr04bb7u74t3fMm\n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\nJiCO4aakH9d6jOFHJT3ZWvtYSWqtfYKkT1f/EufzqYcDcwAAA9dJREFU0P8RnbG/nyrpha7r/hNu\nfa/6tfMpD6ir90Ne137d98vW//NwdscrJW2pfu3Wax98d85OrT844Bsl/UjXdT4v+yyvGXuo1Fp7\ni3r37vXF16/Smvdf0kdJ+rPqQ2R/Xb17/c2ttaOu655S389OtUytwxi+QT3S/IXW2on6sORf7rru\nu+ffr3v/k87S3yckfYhfdl130lp7Xms2ptbaZfVz9O6u627PP37Z+n8elPR5pm+V9HGSPuNhd+Ss\n1Fr7SPWG5bO6M5zxvaZ0QdIHuq77q/P/f7r17+H8M5KeenjdOjO9WdKXSHqL+vPXP1HSN7XWPjg3\nMht6SNRauyjpPeqNzlsfxDPXPtwh6Vn1sZ9Xxed8LdfaUWvtWyR9nqTP7Lrug/jqGc1fMxa3rMt4\nPknSh0n6qdbavdbaPUl/UNKfb63dVY9+Lq9x/yXp/0r6+fjs59W/JUjq+9m0vjL1tyX9za7r3tN1\n3c91XfcuSX9P0lfPv1/3/iedpb/PSBpVCLXWtiTd0JqMCQr6NZI+Gyhaehn7v/ZKeo7mflJ9xlTS\nEEZ4UovXcq0VzRX0F0n6Q13X/XJ8zdeM+Xq/Zuz9D6yT0/ReSR+vHr19wvznJyR9F/6+p/Xtv9RX\ndmQo7LXq3yikrut+Sf3C4RiuqY8droNM7Wi5wmCm+Xo9B/0f0Rn7+35J11trr8OtT6pX7j/+gLo6\nSVDQHyXpya7rXohLXr7+P+xM8BmzrW+SdCDpS9WXJH2bpOckfdjD7lvR129VX+r1BvVIwT/bcc0v\nSfpM9cj1fZL+w8Pu+4oxDdUd56H/6mPpR+qR50erDx3ckvQWXPO2uQx9gXqj9C8k/XdJj61B//+p\n+kTs50n67epLvj4k6W+sa//Vl7B9gnrjPpP0F+b/v+as/VWfGP0J9S+r/nT11UVPPez+qw8Lf796\nI//xsa4vvdz9f6jCeJ9MfKv6o0rvqLdar3/YfZro50x9eCZ/vhTXXFZfS/3sXHm8R9KHP+y+rxjT\nD4eSXvv+zxXcz6g37j8n6U8W13yt+tKwA0lPS/qYh93veb92Jb1DvSHcnyuzr5N0cV37rz4kVsn+\nPzlrf9VXTHyX+hdTvyDp2yXtPOz+qzeU+Z3/f+PL3f/NUaUb2tCGNrTGtPYx6Q1taEMb+s1MGyW9\noQ1taENrTBslvaENbWhDa0wbJb2hDW1oQ2tMGyW9oQ1taENrTBslvaENbWhDa0wbJb2hDW1oQ2tM\nGyW9oQ1taENrTBslvaENbWhDa0wbJb2hDW1oQ2tMGyW9oQ1taENrTBslvaENbWhDa0z/H9WIr12a\nI7ePAAAAAElFTkSuQmCC\n", 250 | "text/plain": [ 251 | "" 252 | ] 253 | }, 254 | "metadata": {}, 255 | "output_type": "display_data" 256 | } 257 | ], 258 | "source": [ 259 | "ShowImage(np.transpose(video[0]))" 260 | ] 261 | }, 262 | { 263 | "cell_type": "markdown", 264 | "metadata": {}, 265 | "source": [ 266 | "### Saving the set of image \n", 267 | "\n", 268 | "As a video, using ffmpeg, and settinb the framerate -- [see the video](video/20170404-potatoes.avi)." 269 | ] 270 | }, 271 | { 272 | "cell_type": "code", 273 | "execution_count": 11, 274 | "metadata": { 275 | "collapsed": false 276 | }, 277 | "outputs": [], 278 | "source": [ 279 | "VideoFilName = \"./video/\"+DataName+'.avi'\n", 280 | "VideoFrameRate = 12\n", 281 | "\n", 282 | "cmdstring = ('ffmpeg',\n", 283 | " '-y',\n", 284 | " '-r', '%d' % VideoFrameRate,\n", 285 | " '-f','image2pipe',\n", 286 | " '-vcodec', 'mjpeg',\n", 287 | " '-i', 'pipe:', \n", 288 | " '-vcodec', 'libxvid',\n", 289 | " VideoFilName\n", 290 | " )\n", 291 | "p = subprocess.Popen(cmdstring, stdin=subprocess.PIPE, shell=False)\n", 292 | "\n", 293 | "for i in range(NbImages):\n", 294 | " im = Image.fromarray(np.uint8(np.transpose(video[i])))\n", 295 | " p.stdin.write(im.tobytes('jpeg','L'))\n", 296 | " #p.communicate(im.tostring('jpeg','L'))\n", 297 | "\n", 298 | "p.stdin.close()" 299 | ] 300 | }, 301 | { 302 | "cell_type": "markdown", 303 | "metadata": { 304 | "collapsed": false 305 | }, 306 | "source": [ 307 | "### which yields\n", 308 | "\n", 309 | "![a short video](video/20170404-potatoes.gif)" 310 | ] 311 | }, 312 | { 313 | "cell_type": "markdown", 314 | "metadata": { 315 | "collapsed": true 316 | }, 317 | "source": [ 318 | "## Next steps\n", 319 | "\n", 320 | "Some other stuff to do? Sure! In short\n", 321 | "\n", 322 | "* Command electronicanlly the start / end\n", 323 | "* Send gain\n", 324 | "* Get probe details\n", 325 | "* Do the scan conversion\n", 326 | "* ... and so much more !" 327 | ] 328 | } 329 | ], 330 | "metadata": { 331 | "kernelspec": { 332 | "display_name": "Python 2", 333 | "language": "python", 334 | "name": "python2" 335 | }, 336 | "language_info": { 337 | "codemirror_mode": { 338 | "name": "ipython", 339 | "version": 2 340 | }, 341 | "file_extension": ".py", 342 | "mimetype": "text/x-python", 343 | "name": "python", 344 | "nbconvert_exporter": "python", 345 | "pygments_lexer": "ipython2", 346 | "version": "2.7.12" 347 | } 348 | }, 349 | "nbformat": 4, 350 | "nbformat_minor": 2 351 | } 352 | --------------------------------------------------------------------------------