{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "remoteSourcesURL https://git0.fmf.uni-lj.si/studen/nixSuite/raw/master/remoteResources/resources.json\n", "{'labkeyInterface': {'url': 'https://git0.fmf.uni-lj.si/studen/labkeyInterface/archive/master.zip', 'branch': 'master', 'modules': []}, 'irAEMM': {'url': 'https://git0.fmf.uni-lj.si/studen/iraemm/archive/master.zip', 'branch': 'master', 'modules': ['iraemmBrowser']}, 'SlicerLabkeyExtension': {'url': 'https://git0.fmf.uni-lj.si/studen/SlicerLabkeyExtension/archive/SlicerExtensionIndex.zip', 'branch': 'SlicerExtensionIndex', 'modules': ['labkeyBrowser']}, 'limfomiPET': {'url': 'https://git0.fmf.uni-lj.si/studen/limfomiPET/archive/master.zip', 'branch': 'master', 'modules': ['imageBrowser']}, 'parseConfig': {'url': 'https://git0.fmf.uni-lj.si/studen/parseConfig/archive/master.zip', 'branch': 'master', 'modules': []}, 'orthancInterface': {'url': 'https://git0.fmf.uni-lj.si/studen/orthancInterface/archive/master.zip', 'branch': 'master', 'modules': []}}\n" ] } ], "source": [ "import sys\n", "import os\n", "import SimpleITK\n", "import numpy\n", "import matplotlib.pyplot\n", "import subprocess\n", "import json\n", "import config\n", "import getData\n", "import segmentation\n", "\n", "sys.path.append(os.path.join(os.path.expanduser('~'),'software','src','nixSuite','wrapper'))\n", "import nixWrapper\n", "nixWrapper.loadLibrary('labkeyInterface')\n", "import labkeyInterface\n", "import labkeyFileBrowser\n", "import labkeyDatabaseBrowser\n", "\n", "#manipulate segmentations\n", "#rewrite this\n", "#nim=getPatientNIM(pId)\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "User: andrej studen CSRF: be9cfe837ecd4871d3952652b41ca8c1\n" ] } ], "source": [ "#\n", "\n", "fsetup='../template/cardiacSPECT.json'\n", "with open(fsetup,'r') as f:\n", " setup=json.load(f)\n", " \n", "net=labkeyInterface.labkeyInterface()\n", "fconfig=os.path.join(os.path.expanduser('~'),'.labkey',setup['network'])\n", "net.init(fconfig)\n", "net.getCSRF()\n", "db=labkeyDatabaseBrowser.labkeyDB(net)\n", "fb=labkeyFileBrowser.labkeyFileBrowser(net)\n", "#rewrite this\n", "#nim=getPatientNIM(pId)\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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q8bddYQbc/mJ1mUQc4tbR7ec217RdZ77nJKZa5vMYyklPHaz58BofslmMTs3um0freMg8ubmxuw146xZs8KxzPNlPtOdtz/xs2rVqjN/XrNmjbZt26Zt27Zp9erVZx4fGRnRokWLzvp1r8jv//7v64YbbtB1112nq6++Wr/5m78pSVq5cqUk6eabb9Zll12mJ554Qlu2bNG6det06623nvUchw8f1lve8ha9+MUv1vve976z1uPAgQNn/benbwadNjY2po0bN2r69Olnbjo9089+9jPdcMMN+vjHP66rr756wvcDAAAAAABw3t74efLJJ8/8+YknntCKFSu0YsUKPfHEE2ceP3TokEZHR8/cvHGmTJmiD3zgA3rwwQf18MMP64orrtDKlSvPLPvggw/qHe94h+bMmaORkRG9853v1De/+c0zyx89elRve9vbtHLlSn3qU58667mf//zn66GHHjrz95///Oc6evSoLr/8ckmn7sy95z3v0c6dO/XFL37xOXfRt2zZoje84Q36wz/8Q914442T2EoAAAAAAOBCdt7e+Pmrv/orPfnkkxodHdWf/dmf6Xd/93f15je/WV/4whf0wx/+UEePHtWHP/xhbdiw4cyveR0/flxHjhw582teR44cOfPjZqOjo9q8ebNKKfrpT3+qD3zgA7r99tvP/IjbC1/4Qn3hC1/Q4cOHdfjwYW3atElXXnnlmee96aabNHPmTH36059+zo/FvfnNb9Y3vvENffe739WhQ4f0p3/6p7r++uvPfMn0e9/7Xv3Xf/2X/u7v/u45Pwb2i1/8Qtdff702btyod73rXQPdpgAAAAAAoFvO2xs/N954o377t39bL3jBC3TppZfqjjvu0Kte9Sp98IMf1Fvf+latX79emzdv1qZNm84sc9ttt2np0qX6+7//e33iE5/QxRdfrC9/+cuSpN27d+uGG27QypUrdcMNN+j3fu/39I53vOPMsn/xF3+hLVu26AUveIGuvPJKPf744/r0pz8tSfr+97+ve+65R9/61re0bt06rVq1SqtWrdJ3v/tdSdIVV1yhT33qU9q4caMuv/xyHTx4UJ/85CclnfppnjvvvFMPPvig1q9ff+Ynl77yla9Ikv7mb/5Gjz32mD72sY+d+QmkNWvWNLCFAQAAAADA+a7RL3eu04te9CLdfvvtz/mCqI0bN2rjxo09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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pId='po1982022'\n", "cx={}\n", "#cx[pId]=[32,31,31]\n", "#pId='pred15052022'\n", "#cx[pId]=[30,32,31]\n", "#order\n", "#[green,blue,red]\n", "\n", "fp={'0':[],'1':[],'2':[]}\n", "\n", "visitId='MIR'\n", "idFilter={'variable':'PatientId','value':pId,'oper':'eq'}\n", "visitFilter={'variable':'visitName','value':visitId,'oper':'eq'}\n", "\n", "rows=getData.getPatients(db,setup,[idFilter,visitFilter])\n", "\n", "r=rows[0]\n", "nim=segmentation.getPatientNIM(r,setup)\n", "#i labels segments\n", "#ns=16\n", "#for i in numpy.arange(ns):\n", "# sNum=r['SequenceNum']+0.0100*i\n", "#seqFilter={'variable':'SequenceNum','value':'{:.2f}'.format(sNum),'oper':'eq'}\n", "rows=getData.getSegmentation(db,setup,[idFilter,visitFilter])\n", " \n", "if len(rows)==0:\n", " print('Not found for s={}'.format(sNum))\n", " fp=segmentation.guessPixelPosition(*cx[pId])\n", "else:\n", " for q in rows:\n", " #print(q)\n", " slices=q['sliceId'].split(';')\n", " for s in slices:\n", " fp[s].append([float(x) for x in [q['x'],q['y'],q['z']]])\n", " #first point is (sx,sy,sz)\n", "\n", "oz=0\n", "rz=4\n", "#update last 6 points \n", "sx=fp['0'][0][0]\n", "sy=fp['0'][0][1]\n", "sz=fp['0'][0][2]\n", "slc=[int(x) for x in fp['0'][0]]\n", "#print('Center ({})'.format(slc))\n", "\n", "cut0=20\n", "w0=20\n", "cut1=20\n", "w1=20\n", "cut2=20\n", "w2=20\n", "vmax=1000\n", "vmin=0\n", "nd=3\n", "fig,ax=matplotlib.pyplot.subplots(3,2*nd+1,figsize=(20,12))\n", "for i in numpy.arange(0,2*nd+1):\n", " ax[0,i].imshow(nim[cut2:cut2+w2,slc[1]-nd+i,cut0:cut0+w0],cmap='gray_r',vmax=vmax,vmin=vmin)\n", " ax[1,i].imshow(nim[cut2:cut2+w2,cut0:cut0+w0,slc[2]-nd+i].T,cmap='gray_r',vmax=vmax,vmin=vmin)\n", " ax[2,i].imshow(nim[slc[0]-nd+i,cut1:cut1+w1,cut1:cut1+w1],cmap='gray_r',vmax=vmax,vmin=vmin)\n", " if i==nd:\n", " pt=fp['0']\n", " ax[0,i].scatter([x[2]-cut0 for x in pt],[x[0]-cut2 for x in pt])\n", " pt=fp['1']\n", " ax[1,i].scatter([x[0]-cut2 for x in pt],[x[1]-cut0 for x in pt])\n", " pt=fp['2']\n", " ax[2,i].scatter([x[2]-cut1 for x in pt],[x[1]-cut1 for x in pt])\n", " \n", " if i==0:\n", " ax[0,i].text(2,2,pId,fontsize='large')\n", " \n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#rarely used. Mostly, segmentation points are edited in LabKey\n", "rows=getData.getPatients(db,setup)\n", "for r in rows:\n", " print('******{}******'.format(config.getCode(r,setup)))\n", " segmentation.writeSegmentation(db,r,setup)" ] } ], "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.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }