Nástroje používateľa

Nástoje správy stránok


dev:omega:dicom

Rozdiely

Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.

Odkaz na tento prehľad zmien

Both sides previous revision Previous revision
Next revision
Previous revision
dev:omega:dicom [2017/03/08 12:59]
Boris Duchaj
dev:omega:dicom [2017/03/08 16:18] (aktuálne)
Boris Duchaj
Riadok 1: Riadok 1:
 ====== Dicom Viewer a Dicom TimeLine ====== ====== Dicom Viewer a Dicom TimeLine ======
  
-V dennej operatíve dva nové prvky **Dicom viewer** a **Dicom - Timeline**. ​+//vetva v gite duch/​merge8//​**Tučné** 
 + 
 +<color red>​Dôležité pre fungovanie týchto prvkov je nutné mať spustený, nakonfigurovaný Orthanc server, nastavenú komunikáciu s PACS serverom a dostupný DCMTK toolkit.</​color>​ 
 + 
 + 
 +V dennej operatíve ​sú dva nové prvky **Dicom viewer** a **Dicom - Timeline**. ​
 {{ :​dev:​omega:​dicom:​addele.png?​direct&​400 |}} {{ :​dev:​omega:​dicom:​addele.png?​direct&​400 |}}
 ===== Dicom viewer ===== ===== Dicom viewer =====
-slúži na zobrazovanie jednotlivých **DICOM obrázkov** v okne tabu. Pomocou klasického ovládania môže byť zväčšovaný alebo zmenšovaný. DICOM obrázok sa následne proporcionálne zmenší/​zväčší.+Primitívny náhľadový priehľadač snímok z RTG, CT a pod... 
 +Slúži na zobrazovanie jednotlivých **DICOM obrázkov** v okne tabu. Pomocou klasického ovládania môže byť zväčšovaný alebo zmenšovaný. DICOM obrázok sa následne proporcionálne zmenší/​zväčší.
 V prípade zobrazenie obrázka sa zobrazí aj v pravom hornom rohu, jednoduché kontextové menu. V prípade zobrazenie obrázka sa zobrazí aj v pravom hornom rohu, jednoduché kontextové menu.
 {{ :​dev:​omega:​dicom:​contemenu.png?​direct&​400 |}} {{ :​dev:​omega:​dicom:​contemenu.png?​direct&​400 |}}
Riadok 12: Riadok 18:
 ==== Full Size/Normal Size ==== ==== Full Size/Normal Size ====
  
-zobrazí DICOM inštanciu v dennej ​operatíve v plnej veľkosti a pomocou dragovania ju možné prezerať v okne prehliadača detialnejšie+zobrazí DICOM inštanciu v **Dennej ​operatíve** v plnej veľkosti a pomocou dragovania ju možné prezerať v okne prehliadača detialnejšie
 ==== Windows ==== ==== Windows ====
  
-zmení Window Center a Window Width pri CT štúdiach, zatiaľ len na Bone, Brain, Lung, Mediastinum,​ Abdomen. ​Poažiadavka sa posiela na server, kde sa spracuje...+zmení Window Center a Window Width pri CT štúdiach, zatiaľ len na Bone, Brain, Lung, Mediastinum,​ Abdomen. ​Požiadavka sa posiela na server, kde sa spracuje...
 ==== Nastavenia ==== ==== Nastavenia ====
  
Riadok 23: Riadok 29:
  
 ===== Dicom TimeLine ===== ===== Dicom TimeLine =====
-vychadza z TimeLine-y a slúži na zobrazenie jednotlivých štúdii, zoradených chronologicky (dľa nastavenia) pre daného pacientka alebo pre daných ​výber.+Vychádza zo základnej ​TimeLine-y a slúži na zobrazenie jednotlivých štúdii, zoradených chronologicky (dľa nastavenia) pre daného pacientka alebo pre daný výber ​štúdii.
  
-Zakladné nastavenie v XML+Zakladné nastavenie v XML (Controls Layout)
  
 <code xml> <code xml>
Riadok 139: Riadok 145:
 </​code>​ </​code>​
  
 +a pre zobrazenie jedotlivých sérií ppo rozkliknutí štúdie je nutné mať template v databáze omegy t.j.
 +<code php>
 + ​{include file="​dailyop:​dicom/​study_content1"​}
 +</​code>​
 +je nutné mať v tabuľke **st2_dailyop_library** nahratý riadok s daným templatom ​
 +<code php>
 +{*$smarty.now*}
 +{strip}
 +<​b>​{*$series_name|escape*}</​b>​
 +{foreach from=$series_data item=serie key=k}
  
 +{assign var="​description"​ value=$serie.MainDicomTags.SeriesDescription}
 +{assign var="​modality"​ value=$serie.MainDicomTags.Modality}
 +<a href="​asfunction:​_DAILY_OPERATIONS_FORM.runControl,​c_24|series|{$serie.ID}"><​b><​u>​
 +{if $description}
 +{$description}
 +{else}
 +{$modality}
 +{/if} 
 +</​b></​u></​i>​ ({$serie.Instances|@count})</​a> ​
 +{if $k < $series_data|@count-1} &#8226; {/if}
 +{/foreach}
 +{/strip}
 +</​code>​
  
 +Takto tu bude vyzerať po rozkliknutí
 +{{ :​dev:​omega:​dicom:​timeline.png?​direct&​400 |}}
  
- +Vyššie uvedený kód ma na starosti správne zobrazenie jednotlivých serií vrámci štúdie. Po kliknutí na danú sériu sa táto načíta do Dicom Viewera, a pre tento účel je nutné vytvoriť na ploche tab-u **Action Control** a do //Actions// tohoto prvku vložiť následovný kód. Taktiež je nutné do Control ID vložiť názov, ktorý používame vo vyššie uvedenom template (napr. c_24)
  
 +<code xml>
 +<​runFunction controlId="​dicom_view"​ function="​setType"​ pass="​arguments">​
 +  <param valueHelperDataId="​_runControlArg0"​ />
 +</​runFunction>​
 +<​runFunction controlId="​dicom_view"​ function="​setUuid"​ pass="​arguments">​
 +  <param valueHelperDataId="​_runControlArg1"​ />
 +</​runFunction>​
 +<​updateControl controlId="​dicom_view"​ />
 +</​code>​
  
 +Na to aby sa pri preklikavan9 jednotlivých štúdii premazal obsah Dicom Viewera je nutné vytvorenie Action Control, ktoré bude počúvať na udalosť z timeline-y (broadcast on select) a bude obsahovať nasledovaný kód v tab-e Actions
  
 +<code xml>
 +<​runFunction controlId="​dicom_view"​ function="​clear"​ />
 +</​code>​
  
 +==== Tlačidlá s požiadavku na zobrazenie dľa parametrov ====
 +  * Na ploche vytvoríme nový Button Control.
 +  * Nastavíme broadcast on click
 +  * do Actions vložíme nasledovné
  
 +<code xml>
 +<​runFunction controlId="​sel_pacient"​ function="​clearFnc"​ />
 +<​runFunction controlId="​dicomTl1"​ function="​setDicomSearchParameters"​ pass="​arguments">​
 +  <param type="​object">​
 +    <param key="​type"​ value="​date_word"​ />
 +    <param key="​query"​ value="​lastHour"​ />
 +    <param key="​modality"​ value="​CR"​ />
 +  </​param>​
 +</​runFunction>​
 +</​code>​
 +Prvý riadok na starosti to, že ak sme mali vybraného pacienta pomocou smartSearchu tento sa premaže.
 +Druhý riadok zavolá funkciu v DicomTimeline,​ do ktorej pošleme argument typu object
 +
 +<code xml>
 +<param key="​type"​ value="​date_word"​ />
 +</​code>​
 +
 +^ key   ^ value                                     ^
 +| type  | date_word //(hľadá podľa dátumu slova)// ​ |
 +| type  | patient //(hľadá podľa pacienta)// ​       |
 +
 +<code xml>
 +<param key="​query"​ value="​lastHour"​ />
 +</​code>​
 +
 +^ key   ^ value                                     ^
 +| query  | lastHour //(hľadá dľa slovného výrazu, v PHP je to názov funkcie)// ​ |
 +
 +<code xml>
 +<param key="​modality"​ value="​CR"​ />
 +</​code>​
 +
 +^ key   ^ value                                     ^
 +| modality ​ | CR //(napr. CR, CT, PT, XA a pod, modalita v DICOMe)// <color red>len jedna modalita</​color> ​ |
 +
 +Uvedený príklad vyhľadá všetky klasické RTG snímky za poslednú hodinu
 +
 +<color red> Pozor!!!! Pre ďalšie je nutné dorobenie funkcie v PHP (nie je nutná kompilácia flashu)</​color>​
 +
 +==== Vyhľadávanie pomocu smartSearch-u ====
 +Na plochu vložíme **Medic Patient Select Control**, nastavíme mu Data ID a to vložime aj do DicomTimeLine-y do Patient Data ID.
 +
 +<color red> Nezabudnúť ošetriť zmazanie DicomViewera cez runControl tag a funckciu clear....</​color>​
 +
 +==== Vyhľadávanie podľa vloženého mena alebo rodného čísla ====
 +Na plochu vložíme InputBox control a nastavíme Data ID napr. na inputbin_txt. Ďalej vytvoríme Button control, zapneme Broadcast on click a do tabu actions vložime následovný xml kód
 +<code xml>
 +
 +<​runFunction controlId="​sel_pacient"​ function="​clearFnc"​ />
 +<​runFunction controlId="​dicomTl1"​ function="​setDicomSearchParameters"​ pass="​arguments">​
 +  <param type="​object">​
 +    <param key="​type"​ value="​patient"​ />
 +    <param key="​query"​ value="​bin"​ />
 +    <param key="​binNum"​ valueFormDataId="​inputbin_txt"​ />
 +  </​param>​
 +</​runFunction>​
 +<​updateControl controlId="​dicomTl1"​ />
 +</​code>​
  
  
  
dev/omega/dicom.1488974398.txt.gz · Posledná úprava: 2017/03/08 12:59 od Boris Duchaj