Mobile healthcare has been paid a lot of attentions than ever before since 2010. Though mobile devices have been there for a long time, it is believed it is Apple’s iPad that brought people to seriously consider to leverage mobile devices to view medical images. On Feb.4, 2011,FDA cleared first diagnostic radiology application for mobile devices. This event can be regarded as a milestone in healthcare IT industry.
From then on, many image viewing applications have been released to market. These applications can be roughly put into two categories: App based and web-browser based. For those app based, the product takes advantage of supports from underlying operation systems by help of traditional programing languages such as C/C++ , Objective-C or Java to achieve the best performance and native look-and-feel. From user’s perspective, the not-good is the installation is inconvenient. For example, to install an App on iPad,you have to visit the App store via iTunes to download the package. For an average radiologist, this is not always comfortable. In particular for those people from developing countries , it is too complex for them to get started. From developer’s perspective, the downside of native App is the development cost will be rather high once you have to support various operation systems :iOS, Android, Blackberry, Symbian,WebOS ( Thanks God, it has been off the game) and so on so forth.
Generally speaking, a Window/Level adjustment includes the following steps:
1) Scan the image pixels from the original image array sequentially one by one to read the raw value
2) Find the corresponding item from a built look up table with the raw value as the index. Normally the processing is a random access to the LUT.
3) Write the resulting image array at the same position as at the original, sequentially of course, one by one to build the output image.
The test case is design as below: 10 iterations; the input and output image array size 512*512 and 3000*3000. For 16bit depth, the LUT size is 65536, the result is the average time (ms) every iteration takes. The machine is 4 cores Intel i7 2.5GHz with Nvidia Quadro FX 3800M
1) The first one is the clone mechanism. For small set of data, it is fine to make a quick clone done, but for image data, the chunk size is usually very big. For instance, in a CR image, the original size is of 3000*3000 or so, suppose we are now working on a four-core computer, we launch four web workers to adjust the window and level simultaneously. For each web worker, we put a workload of 750*750 to do, which means four 750*750 data chunks have to be cloned very quickly from the front page to the web workers for processing and immediately cloned back from the web workers to the front page for displaying. Unfortunately, at least right now, most of web browsers don’t support the clone for big chunk of data. Furthermore, even it is supported, the overhead to clone such big size of data is noticeable. The benefits gained from the concurrency will be totally wasted in a foreseeable way.
2) The second barrier comes from the truth that the html5’s web worker feature is still not widely supported by popular mobile browsers, such as iPad and Android.
Currently, in desktop, from our observation , google chrome is the best one. The good news is that since Android 4.0 , a mobile version of chrome is also available . We have no data on the benchmark yet, but we believe that should work most smoothly among all of the mobile browsers as long as it is using the same engine implementation as the desktop version.
Well, let's talk about our product plan briefly. We are very sure HTML5 based DICOM viewer has a better future than App based. However , this needs some time. It depends on the mobile browsers' evolution. We are very glad to follow with interest the browser war which is happening between those giants like Google, Microsoft, Apple and Mozilla. The intense competition will definitively bring the browsers up to be more powerful. To achieve the same performance as App based app is just a matter of time. Before end of this year, we think there will be a very dramatic improvement for our product's performance in mobile devices.
Even so, we won't wait there passively for the miracle. Beside keeping optimizing our html5 based solution continuously, we are also developing App based native dicom viewer to enrich our product line. Hopefully, the versions for iOS, Android and even Windows 8 will soon be released. Mobile or not mobile , this actually is never a question for us at all!