Software:Studierfenster

From HandWiki
Jump to: navigation, search

Studierfenster[1][2] is an non-commercial and free Open Science client/server-based Medical Imaging Processing (MIP) online framework. It currently offers capabilities, like viewing medical data (Computed Tomography (CT), Magnetic Resonance Imaging (MRI), etc.). More enhanced functionalities, are the calculation of Medical Metrics (Dice Score[3] and Hausdorff Distance[4]), segmentation[5][6], manual placing of (anatomical) landmarks in medical image data, and a facial reconstruction, and registration of medical data for Augmented Reality (AR)[7]. Studierfenster is currently hosted on an server at the Graz University of Technology (TU Graz)[8] in Styria, Austria (http://studierfenster.tugraz.at/).

History

Studierfenster was initiated within two Bachelor theses during the Summer Bachelor (SB) program of Institute of Computer Graphics and Vision (ICG) at the Graz University of Technology in 2018/2019[9][10]. Since then, several people have made contributions and extensions to the software framework. A complete list of technical and medical contributors can be found on the website of Studierfenster. The name Studierfenster (or StudierFenster) is German and can be translated to StudyWindow, whereby Window refers here to a browser window. The word Studierfenster is an adaption from the word Studierstube (Study Room), which was an Augmented Reality project at the Vienna University of Technology in Austria[11][12].

Architecture

The Studierfenster Architecture.

Studierfenster is setup as a distributed application via a client–server model. The client side (front-end) consists of Hypertext Markup Language (HTML) and JavaScript. Furthermore, the front-end uses the Web Graphics Library (WebGL) that is a Javascript Application Programming Interface (API) descending from the Open Graphics Library (OpenGL) ES 2.0 specification, which it still closely resembles. In contrast to OpenGL, WebGL allows for the rendering of 2D and 3D graphics in web browsers. This enables the use of graphics features known from stand-alone programs directly in web applications, supported by the processing power of the client-side Graphics Processing Unit (GPU). Choosing a web-based approach in development of Studierfenster eliminates the need to distribute updates individually to each user. In addition, users do not have to download and install software packages locally. In summary, WebGL utilises the GPU via shaders, which are defined in the Graphics Library Shader Language (GLSL), the shading language also used by OpenGL. At a minimum WebGL uses two shaders: The vertex shader and the fragment shader. The fragment shader computes the position of each vertex in OpenGL's coordinate system, with each axis reaching from -1 to 1. During rasterization the fragment shader uses the output of the vertex shader to compute the color of each individual pixel. To enable rendering into a web browser window, WebGL uses the HTML canvas element as its drawing context.

The server side (back-end) handles client requests via C, C++ and Python[13]. Among others, it interfaces to common Open Source libraries and software tools like the Insight Toolkit (ITK)[14], the the Visualization Toolkit (VTK)[15], the X Toolkit (XTK)[16] and Slice:Drop[17]. The server communication is handled by AJAX requests[18] were needed. The type 'POST' is used for examples for file uploads and the type 'GET' is used for example to get results of calculations on the server. In example, for the calculation of the HD, the HD directed in both directions and the DSC, AJAX requests were utilized. With the requests the file names and the 'use image spacing' option are transmitted to the server. For the 'use image spacing' a check-box was used and the value 'TRUE' or 'FALSE' are transmitted to the server. If the check-box is checked, the HD uses the image spacing to compute the distance. Moreover, Studierfenster employs a Flask python server. Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries[19]. Coincidental, Flask was created by Armin Ronacher an alumni of the Graz University of Technology in Austria[20].

Dicom Browser

The Studierfenster DICOM Browser

The “Dicom Browser” of Studierfenster allows parsing a local folder with DICOM (Digital Imaging and Communications in Medicine[21][22]) files. Afterwards, the whole folder can be converted to compressed .Nrrd (nearly raw raster data) files and downloaded as a single .zip file. Nrrd is a library and file format for the representation and processing of n-dimensional raster data. It is intended to support scientific visualization and (medical) image processing applications.[23]. With the “Dicom Browser” of Studierfenster, is also possible to select specific Studies or Series, and only convert these. The compressed .Nrrd format has been choosen, because it contains only the image data. All patient DICOM tags are removed in this format. The compressed .Nnrrd files can then be opened with the “Medical 3D Viewer” of Studierfenster, for a visualization of the medical image data in 2D, 3D and for further processing. Furthermore, the “Dicom Browser” of Studierfenster is completely client-sided, which means that no data from the user is transferred to our server during the conversion.

File Converter

The "File Converter" of Studierfenster, converts a medical volume file (e.g. a non-compressed .Nrrd file) to a (compressed/binary) .Nrrd file. After the conversion, the compressed .Nrrd file can a be downloaded and used for example with the "Medical 3D Viewer" of Studierfenster for 2D and 3D visualization, and further image processing.

References

  1. "Studierfenster". http://www.studierfenster.at. 
  2. Weber, Maximilian (2019-10-17). "A Client/Server-based Online Environment for the Calculation of Medical Segmentation Scores" (in en-US). 2019 41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC). 2019. pp. 3463–3467. doi:10.1109/EMBC.2019.8856481. ISBN 978-1-5386-1311-5. 
  3. Dice, Lee R. (1945). "Measures of the Amount of Ecologic Association Between Species". Ecology 26 (3): 297–302. doi:10.2307/1932409. 
  4. Rockafellar, R. Tyrrell; Wets, Roger J-B (2005). Variational Analysis. Springer-Verlag. p. 117. ISBN 3-540-62772-3. 
  5. Linda G. Shapiro and George C. Stockman (2001): “Computer Vision”, pp 279–325, New Jersey, Prentice-Hall, ISBN:0-13-030796-3
  6. Barghout, Lauren, and Lawrence W. Lee. "Perceptual information processing system." Paravue Inc. U.S. Patent Application 10/618,543, filed July 11, 2003.
  7. Gsaxner, Christina; Pepe, Antonio; Wallner, Jürgen; Schmalstieg, Dieter; Egger, Jan (2019). Shen, Dinggang; Liu, Tianming; Peters, Terry M. et al.. eds. "Markerless Image-to-Face Registration for Untethered Augmented Reality in Head and Neck Surgery" (in en). Medical Image Computing and Computer Assisted Intervention – MICCAI 2019. Lecture Notes in Computer Science (Cham: Springer International Publishing) 11768: 236–244. doi:10.1007/978-3-030-32254-0_27. ISBN 978-3-030-32254-0. 
  8. "Graz University of Technology (TU Graz)". https://www.tugraz.at/. 
  9. Weber, Maximilian (2018-12-13). "A Client/Server based Online Environment for the calculation of Segmentation Scores". Bachelor Thesis, Institute of Computer Graphics and Vision, Graz University of Technology, Austria, Pp. 1-40, December 2018.. 
  10. Wild, Daniel (2019-04-18). "A Client/Server Based Online Environment for Manual Segmentation of Medical Images". Bachelor Thesis, Institute of Computer Graphics and Vision, Graz University of Technology, Austria, Pp. 1-28, April 2019.. Bibcode2019arXiv190408610W. 
  11. "Studierstube". https://www.cg.tuwien.ac.at/research/vr/studierstube/jvrs-paper.pdf. 
  12. Szalavári, Zsolt; Schmalstieg, Dieter; Fuhrmann, Anton; Gervautz, Michael (1998). "Studierstube: An environment for collaboration in augmented reality" (in en). Virtual Reality, Volume 3. Lecture Notes in Computer Science (Springer International Publishing) 3: 37–48. doi:10.1007/BF01409796. 
  13. "Python". https://www.python.org/. 
  14. "The Insight Toolkit (ITK)". https://itk.org/. 
  15. "VTK - The Visualization Toolkit". https://vtk.org/. 
  16. "The X Toolkit: WebGL™ for Scientific Visualization". 25 April 2020. https://github.com/xtk/X. 
  17. "Slice:Drop". https://slicedrop.com/. 
  18. "Ajax - Web developer guides". https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX. 
  19. "Flask Foreword". http://flask.pocoo.org:80/docs/0.10/foreword. 
  20. "Armin Ronacher". https://www.crunchbase.com/person/armin-ronacher#section-overview. 
  21. "1 Scope and Field of Application". http://dicom.nema.org/medical/dicom/current/output/chtml/part01/chapter_1.html#sect_1.1. 
  22. DICOM brochure, nema.org.
  23. Aja-Fernández, Santiago; de Luis Garcia, Rodrigo; Tao, Dacheng; Li, Xuelong (2009). Tensors in Image Processing and Computer Vision. Advances in Computer Vision and Pattern Recognition. Springer Science & Business Media. ISBN 9781848822993. 

External links