CA2894973A1 - Dynamic generation of test images for ambient light testing - Google Patents
Dynamic generation of test images for ambient light testing Download PDFInfo
- Publication number
- CA2894973A1 CA2894973A1 CA2894973A CA2894973A CA2894973A1 CA 2894973 A1 CA2894973 A1 CA 2894973A1 CA 2894973 A CA2894973 A CA 2894973A CA 2894973 A CA2894973 A CA 2894973A CA 2894973 A1 CA2894973 A1 CA 2894973A1
- Authority
- CA
- Canada
- Prior art keywords
- predetermined value
- test image
- client device
- minimum dimension
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 109
- 238000000034 method Methods 0.000 claims description 54
- 238000009877 rendering Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/40—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/40—ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25825—Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Epidemiology (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Biomedical Technology (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Controls And Circuits For Display Device (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
Abstract
In a remote access environment that includes a server, a client device may remotely access, e.g., medical images from the server and may be provided with a mechanism to retrieve a test image, such as the TG-18 CT or TG-18 MP sample test patterns. The client device communicates display size information to the server, which generates the test image on-the-fly for the particular display size of the client device. For example, components in the test image and borders may be scaled to create an appropriate test image for any client device.
Description
DYNAMIC GENERATION OF TEST IMAGES FOR AMBIENT LIGHT TESTING
BACKGROUND
[0001] Medical images housed within Picture Archiving and Communication Systems (PACS) are typically accessed by specialized display workstations under controlled lighting conditions, the so-called "radiology reading room". Such conditions are maintained to provide predetermined level of display image quality as part of the diagnostic imaging practice, as it is important to ensure that electronic display at the display workstations does not compromise image quality. In furtherance of that goal, display standards have been created, such as that of the American Association of Physicists in Medicine (AAPM) Task Group 18 (TG-18). Information about the TG-18 display performance standards may be found in "Assessment of Display Performance for Medical Imaging Systems," American Association of Physicists in Medicine, April 2005, which is incorporated herein by reference in its entirety. The TG-18 provided guidelines to end users for in-field performance evaluation of electronic display devices intended for medical use. The TG-18 testing methods include test images for evaluating the performance of electronic display devices and recommended minimum performance requirements for utilization of electronic displays in medical and radiologic applications. The AAPM provides the test images as downloadable files from designated servers.
BACKGROUND
[0001] Medical images housed within Picture Archiving and Communication Systems (PACS) are typically accessed by specialized display workstations under controlled lighting conditions, the so-called "radiology reading room". Such conditions are maintained to provide predetermined level of display image quality as part of the diagnostic imaging practice, as it is important to ensure that electronic display at the display workstations does not compromise image quality. In furtherance of that goal, display standards have been created, such as that of the American Association of Physicists in Medicine (AAPM) Task Group 18 (TG-18). Information about the TG-18 display performance standards may be found in "Assessment of Display Performance for Medical Imaging Systems," American Association of Physicists in Medicine, April 2005, which is incorporated herein by reference in its entirety. The TG-18 provided guidelines to end users for in-field performance evaluation of electronic display devices intended for medical use. The TG-18 testing methods include test images for evaluating the performance of electronic display devices and recommended minimum performance requirements for utilization of electronic displays in medical and radiologic applications. The AAPM provides the test images as downloadable files from designated servers.
[0002] However, the TG-18 test images were designed for specific display resolutions. Now, with the growing use of mobile devices to remotely access medical image data from PACS systems, the TG-18 test images are not properly scaled for use on the overwhelming number of display sizes of the mobile devices.
[0003] Disclosed herein are systems and methods for providing a test image, such as the TG-18 CT or TG-18 MP sample test patterns, to client devices in a remote access environment. The client device communicates display size information to a server in the environment, which generates the test image on-the-fly for the particular display size of the client device. For example, components and borders in the test image may be scaled to create an appropriate test image for any client device.
[0004] In accordance with some implementations, there is provided a method of dynamically generating a test image for a client device from a standard test image on a server, the standard test image having components therein and a border defined by a horizontal margin and a vertical margin. The method includes receiving, at a server, display dimensions from a client device; determining if a minimum dimension of the display dimensions is less than a first predetermined value; if the minimum dimension is less than the first predetermined value, then reducing a size of the components by a factor of the minimum dimension divided by the predetermined value for rendering the test image for display at the client device; and if the minimum dimension is not less than the first predetermined value, then determining if the minimum dimension is less than or equal to a second predetermined value. If the minimum dimension is less than or equal to the second predetermined value then adjusting at least one of the vertical margin and the horizontal margin to maintain an array of boxes in a centered position with respect to the test image for rendering the test image for display at the client device; and if the minimum dimension is not less than or equal to the second predetermined value then increasing a size of the components by a factor of the minimum dimension divided by the second predetermined value for rendering the test image for display at the client device.
[0005] In accordance with some implementations, there is provided a method of generating a test image where the test image has components therein defining a component and a vertical margin. The method includes, receiving, at a server, display dimensions from a client device; determining if a minimum dimension of the display dimensions is greater than a first predetermined value; if the minimum dimension is greater than the first predetermined value then: increasing a size of the component width and the component height by a factor of the minimum dimension divided by the predetermined value, rounding down to a nearest multiple of a second predetermined number and adding a third predetermined number of pixels to the border; scaling the components to fit within a new size of the component width and the component height; and displaying the test image at the client device.
If the minimum dimension is less than the first predetermined value, then determining if a display width is less than the component width, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width; determining if a display height is less than the component height, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width; scaling the components to fit within a new size of the component width and the component height; and displaying the test image at the client device.
If the minimum dimension is less than the first predetermined value, then determining if a display width is less than the component width, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width; determining if a display height is less than the component height, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width; scaling the components to fit within a new size of the component width and the component height; and displaying the test image at the client device.
[0006] In accordance with some implementations, there is provided a method of generating a test image, the test image having components therein and having a horizontal margin and a vertical margin, the method comprising receiving, at a server, display dimensions from a client device; determining if a minimum dimension of the display dimensions is less than a first predetermined value, and if not, increasing a size of the components in accordance with the a first factor determined in accordance with the minimum dimension and the first predetermined value; and if the minimum dimension of the display dimensions is less than the first predetermined value, reducing a size of the components in accordance with a first factor determined in accordance with the minimum dimension or reducing the size of the dimension and a second predetermined value.
[0007] Other systems, methods, features and/or advantages will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features and/or advantages be included within this description and be protected by the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The components in the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding parts throughout the several views.
[0009] FIG. 1 is a simplified block diagram illustrating a system for providing remote access to an application at a remote device via a computer network;
[0010] FIG. 2 illustrates a TG-18 CT image test pattern:
[0011] FIG. 3 illustrates a TG-18 MP image test pattern;
[0012] FIG. 4 illustrates an operational flow diagram of processes performed to provide dynamic generation of a TG18-CT test image in accordance with client device display area in the environment of FIG. 1;
[0013] FIG. 5 illustrates an operational flow diagram of processes performed to provide dynamic generation of a TG18-MP test image in accordance with client device display area in the environment of FIG. 1; and
[0014] FIG. 6 illustrates an exemplary computing device.
DETAILED DESCRIPTION
DETAILED DESCRIPTION
[0015] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art.
Methods and of the present disclosure. While implementations will be described for remotely accessing applications, it will become evident to those skilled in the art that the implementations are not limited thereto, but are applicable for remotely accessing any type of data or service via a remote device.
Methods and of the present disclosure. While implementations will be described for remotely accessing applications, it will become evident to those skilled in the art that the implementations are not limited thereto, but are applicable for remotely accessing any type of data or service via a remote device.
[0016] OVERVIEW
[0017] In accordance with aspects of the present disclosure, in a remote access environment, a client device may be provided with a mechanism to retrieve a test image, such as the TG-18 CT or TG-18 MP sample test patterns. The test image is generated on-the-fly for the particular display size of the client device. Thus, an appropriate test image can be created for any client device, as described below.
[0018] EXAMPLE ENVIRONMENT
[0019] With the above overview as an introduction, Fig. 1 provides a diagram of an exemplary image viewing network 100 over which processes and systems consistent with the presently disclosed dynamic test image rendering service may be implemented.
As illustrated in Fig. 1, image viewing network 100 may include a plurality of devices that may be communicatively coupled to one another (or to a centralized server) to facilitate the distribution of data, such as imaging data, between or among the constituent devices.
According to one embodiment, image viewing network 100 may include a server 120 and one or more client devices 130a-130c, each of which may be communicatively coupled to communication network 110. The listing of components illustrated in Fig. 1 is exemplary only and not intended to be limiting. Indeed, it is contemplated that additional, fewer, and/or different devices than those shown in Fig. 1 may be included as part of image viewing network 100 without departing from the scope of the present disclosure.
telecommunications network that allows any number of network compatible devices, such as server 120 and client devices 130a-130c, to exchange data with other network compatible devices, both internal and external to image viewing network 100. For example, communication network 110 may provide a gateway for coupling server 120 and/or client devices 130a-130c with one or more servers on the World Wide Web using any combination wired or wireless communication platforms. Communication network 110 may include a wireless networking platform such as, for example, a satellite communication system, a cellular communication system, or any other platform for communicating data with one or more geographically dispersed assets (e.g., Bluetooth, microwave, point-to-point wireless, point-to-multipoint wireless, multipoint-to-multipoint wireless.) Alternatively or additionally, communication network 102 may include or embody wireline networks such as, for example, Ethernet, fiber optic, waveguide, or any other type of wired communication network.
[0021] The server 120 may include any processor-based computer system suitable for configuration as a centralized node for distributing and/or sharing data, such imaging data with one or more other computer systems. The server 120 may further include a remote access application to enable the client devices 130a-130c to remotely access services offered by the server 102. Still further, the server 120 may include an imaging application that processes the image data for viewing by one or more end users using one of the client devices 130a-130c.
In general, server 120 may be configured to perform server-side image processing and rendering functions, and deliver and/or serve the processed image information to the requesting client device. According to one embodiment, server 120 may include a Windows or Linux-based multi-processor computing platform that is coupled to an imaging database. In the above, an example remote access application may be part of the PureWeb architecture application is ResolutionMD available from Calgary Scientific, Inc., of Calgary, Alberta, Canada [0022] Client devices 130a-130c may each include any processor-based computing device suitable for receiving image data from server 120 and render the image data on a display. Client devices 130a-130c may be configured for establishing a secure connection with server 120 and/or other client devices coupled to communication network 110 in order to send and receive image information across communication network 110. Client devices 130a-130c may be include smart phones, tablets, laptop/desktop/netbook computing devices, wearable media consumption devices (e.g., optical head-mounted display (OHMD), smart watch, etc.), or any other types of processor-based computing system suitable for accessing server 120 and rendering images and related data on a display associated with the respective device.
[0023] As further shown in Fig. 1, a state model 140 may be communicated between the server 120 and/or client devices 130a-130c. The state model 140 contains application state information that is updated in accordance with user input data received from a user interface program or imagery currently being displayed by the client device 130a-130c.
The remote access server also updates the state model 140 in accordance with the screen or application data and provides the same to the client device 130a-130c for display.
[0024] In the environment of the present disclosure, the state model 140 may contain information about images being viewed by a user of the client device 130a-130c, i.e.
the current view. The state model 140 may also contain information about the display area of the client device 130a-130c. This information may be used when rendering image data and test images at the server 120 and/or the client 130a-103c. Thus, information in the state model 140 may be used to enable test images to be rendered on either the client 130a-130c or the server 120, and switching therebetween.
[0025] TG-18 TEST IMAGES
diagnostic images. In such environments, there is a need to insure that the client device displays do not compromise image quality and ultimately patient care. As such, standard test images, such as those described below, have been published to provide for testing and quality control of client devices on which diagnostic image data is displayed.
[0027] FIG. 2 illustrates a TG-18 CT image test pattern 200. The TG-18 CT test pattern is used to assess the contrast transfer characteristics associated with the luminance response of the display of a computing device. The pattern 200 includes an array of 16 boxes 201 varying in luminance from 8 [128] to 248 [3968] embedded in a uniform background. Each box 201 differs in pixel value by the same amount and contains four small 10 x 10 corner boxes 205 at 4 [ 64] pixel value difference from the background. In addition, at the center of each box 201 is a circle 203, where each side of the circle is a 2 [ 32] pixel value difference from the background.
[0028] The image test pattern 200 has a defined height 202 and width 204. For example the height 202 and width 204 is 1024 pixels. The array of boxes 201 is positioned having a vertical margin 206 and a horizontal margin 208 from respective edges of the image test pattern 200. Each box 201 in the array has a side 212 having a length of 102 pixels. The boxes 201 are separated by a distance 212 of 51 pixels. The circle 203 within each box 201 (a representative circle 203 emphasized for purposes of the present disclosure) has a diameter 214 of 34 pixels and the four corner boxes 205 have sides 216 having a dimension of 10 pixels.
As will be described below, when an image test pattern 200 is generated on the fly for a particular display size in accordance with the present disclosure, the various dimensions described above are adjusted/scaled to maintain relative sizes of the boxes, circle, corner box, and spacing between the boxes. Thus, the image test pattern 300 may be scaled to create an appropriate test image for any client device assessment of display bit depth. The test pattern 300 includes a background of 256 (i.e., black), and pattern contains 16 ramps, each covering 1/16 of a 12-bit pixel value range from 0 to 4095.
Small markers indicate 8-bit and 10-bit pixel value transitions. The image test pattern 300 has a defined height 302 and width 304. For example the height 302 and width 304 may be 1024 pixels. Within a central portion of the image test pattern 300, there is a series of 16 vertical bands 301 forming a central box 303, where each band 301 is a ramp of 16 boxes 305 (a representative box 305 emphasized for purposes of the present disclosure)containing incremental shades of grey. A central box 303 has a vertical margin 306 and a horizontal margin 308 from respective edges of the image test pattern 300. Each band 301 has a width 312 of 48 pixels. As will be described below, when an image test pattern 300 is generated on the fly for a particular display size in accordance with the present disclosure, the various dimensions described above are adjusted/scaled to maintain relative sizes of the boxes, circle, corner box, and spacing between the boxes. Thus, the image test pattern 300 may be scaled to create an appropriate test image for any client device.
[0029]
[0030] DYNAMIC GENERATION OF TG-18 TEST IMAGES
[0031] FIG. 4 illustrates an operation flow 400 for dynamic generation of a TG18-CT
test image in accordance with client device display area. The operational flow may be performed by the server 120 or a combination of the server 120 and client devices 130a-130c.
At 402, the process begins. For example, the server 120 may expose a web API
that is called by the client device. At 404, information regarding the client display is received. For example, the server 120 may receive display area information from the client device in the state model 140.
Alternatively, a window size may be defined within the client display area. At 406, it is determined if a minimum dimension is less than 663 pixels. The value of 663 pixels is used x 4) and spacing (51 pixels x 5). Typically a display area is measured as a width times a length (e.g., 480 x 800 px), where one dimension is larger than the other. Often, the width of a handheld display is smaller than the length of the display; therefore the minimum dimension is typically the width value (e.g., 480 px). It is noted that when the display is rotated, the TG-18 CT image also rotates accordingly.
[0032] If, at 406, the minimum dimension is less than 663 pixels then the process continues at 408, where the box size, spacing, corner box size, and circle diameter are reduce by multiplying the minimum dimension determined at 406 by 663. With reference to FIG. 2, the block size 212, spacing 210, corner box size 216, and circle diameter 214 are reduced in accordance with the relationship of the minimum dimension divided by 663. The process continues at 416, where the test image is rendered. For example, the server 120 may render a test image in accordance with the sizes determined at 408. At 418, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 416 and displayed at 418.
[0033] If at 406, the minimum dimension is not less than 663 pixels then the process continues at 410, where is determined if the minimum dimension is less than or equal to 1024 pixels. If the minimum dimension is less or equal to than or equal to 1024 pixels, then at 412, the vertical and/or horizontal margins are adjusted to maintain the image in a center position and to maintain the center contents at default sizes. For example, the vertical margin 206 and/or the horizontal margin 208 may be adjusted to center the array of boxes 301 within the test image. The process continues at 416, where the test image is rendered.
For example, the server 120 may render test image in accordance with the sizes determined at 412. At 418, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 416 and displayed at 418.
then at 414, the box size, spacing, corner box size and circle diameter multiplied by a factor of the minimum dimension divided by 1024. With reference to FIG. 2, the block size 212, spacing 210, corner box size 216, and circle diameter 214 are multiplied by a factor of the minimum dimension divided by 1024. The process continues at 416, where the test image is rendered.
For example, the server 120 may render test image in accordance with sizes determined at 414.
At 418, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 416 and displayed at 418. After the test image is sent to the client device 418, the process ends at 420.
[0035] Thus, the operational flow 400 provides a method for generating TG18-CT on-the-fly in accordance with a display size of the client device. The operational flow 400 serves to adjust the various components of the test image 300 such that they appropriately sized for the display.
[0036] FIG. 5 illustrates an operation flow 500 for dynamic generation of a TG18-MP
test image in accordance with a client device display area. The operational flow may be performed by the server 120 or a combination of the server 120 and the client devices 130a-130c. At 502, the process begins. For example, the server 120 may expose a web API that is called by the client device. At 504, information regarding the client display is received. For example, the server 120 may receive display area information from the client device in the state model 140. Alternatively, a window size may be defined within the client display area. At 506, it is determined if the minimum dimension is greater than 1024 pixels. As noted above, the minimum dimension is the lesser of the length and width of the display area of the client device. It is noted that when the display is rotated, the TG-18 MP image also rotates accordingly. If the minimum dimension is less than 1024 pixels, then at 508, the main box width and height is increased by the factor of the minimum dimension divided by 1024, main box with 312 and the height 310 are increased by the above-noted factor.
Next, at 518, the ramp boxes 305 are scaled to fit within the calculated main box 301 width and height from 508. At 520, the test image is sent to the client device for display. At 520, the process continues, where the test image is rendered. At 522, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 520 and displayed at 522. At 524, the process ends.
[0037] If at 506, the minimum dimension is not greater than 1024 pixels, then at 510 it is determined if the display width is less than the main box with. The main box width is shown in FIG. 3 by reference numeral 312. If the display width is less than the main box width, then the main box with is iteratively reduced at 512 by a factor of 16. The iterative process at 512 continues until the display width is not less than the main box width 312, at which time the process continues at 514 where it is determined if the display height is less than the main box height 310. If, at 514, the display height is less than the main box height 310, then at 516 the main box height 310 is iteratively reduced by a factor of 16 until the display height is not less than the main box height 310. When this condition is met at 514, the process flows to 518, where the ramp boxes 305 are scaled to fit within the main box width and height from 512 and 516, respectively. At 520, the process continues, where the test image is rendered. At 522, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 520 and displayed at 522. At 524, the process ends.
[0038] Thus, the operational flow 500 provides a method for generating on-the-fly in accordance with a display size of the client device. The operational flow 500 serves to adjust the various components of the test image 400 such that they are appropriately sized for the display.
environments or configurations may be used. Examples of well known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network personal computers (PCs), minicomputers, mainframe computers, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.
[0040] Computer-executable instructions, such as program modules, being executed by a computer may be used. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Distributed computing environments may be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices.
[0041] FIG. 8 shows an exemplary computing environment in which example embodiments and aspects may be implemented. The computing system environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality.
[0042] With reference to Fig. 8, an exemplary system for implementing aspects described herein includes a computing device, such as computing device 600. In its most basic configuration, computing device 600 typically includes at least one processing unit 602 and memory 604. Depending on the exact configuration and type of computing device, memory 604 may be volatile (such as random access memory (RAM)), non-volatile (such as read-only configuration is illustrated in Fig. 8 by dashed line 606.
[0043] Computing device 600 may have additional features/functionality.
For example, computing device 600 may include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape.
Such additional storage is illustrated in Fig. 8 by removable storage 608 and non-removable storage 610.
[0044] Computing device 600 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by device 600 and includes both volatile and non-volatile media, removable and non-removable media.
[0045] Computer storage media include volatile and non-volatile, and removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
Memory 604, removable storage 608, and non-removable storage 610 are all examples of computer storage media. Computer storage media include, but are not limited to, RAM, ROM, electrically erasable program read-only memory ([[PROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 600. Any such computer storage media may be part of computing device 600.
[0046] Computing device 600 may contain communications connection(s) 612 that allow the device to communicate with other devices. Computing device 600 may also have input device(s) 614 such as a keyboard, mouse, pen, voice input device, touch input device, etc.
Output device(s) 616 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, e.g., through the use of an application programming interface (API), reusable controls, or the like. Such programs may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language and it may be combined with hardware implementations.
[0048] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
As illustrated in Fig. 1, image viewing network 100 may include a plurality of devices that may be communicatively coupled to one another (or to a centralized server) to facilitate the distribution of data, such as imaging data, between or among the constituent devices.
According to one embodiment, image viewing network 100 may include a server 120 and one or more client devices 130a-130c, each of which may be communicatively coupled to communication network 110. The listing of components illustrated in Fig. 1 is exemplary only and not intended to be limiting. Indeed, it is contemplated that additional, fewer, and/or different devices than those shown in Fig. 1 may be included as part of image viewing network 100 without departing from the scope of the present disclosure.
telecommunications network that allows any number of network compatible devices, such as server 120 and client devices 130a-130c, to exchange data with other network compatible devices, both internal and external to image viewing network 100. For example, communication network 110 may provide a gateway for coupling server 120 and/or client devices 130a-130c with one or more servers on the World Wide Web using any combination wired or wireless communication platforms. Communication network 110 may include a wireless networking platform such as, for example, a satellite communication system, a cellular communication system, or any other platform for communicating data with one or more geographically dispersed assets (e.g., Bluetooth, microwave, point-to-point wireless, point-to-multipoint wireless, multipoint-to-multipoint wireless.) Alternatively or additionally, communication network 102 may include or embody wireline networks such as, for example, Ethernet, fiber optic, waveguide, or any other type of wired communication network.
[0021] The server 120 may include any processor-based computer system suitable for configuration as a centralized node for distributing and/or sharing data, such imaging data with one or more other computer systems. The server 120 may further include a remote access application to enable the client devices 130a-130c to remotely access services offered by the server 102. Still further, the server 120 may include an imaging application that processes the image data for viewing by one or more end users using one of the client devices 130a-130c.
In general, server 120 may be configured to perform server-side image processing and rendering functions, and deliver and/or serve the processed image information to the requesting client device. According to one embodiment, server 120 may include a Windows or Linux-based multi-processor computing platform that is coupled to an imaging database. In the above, an example remote access application may be part of the PureWeb architecture application is ResolutionMD available from Calgary Scientific, Inc., of Calgary, Alberta, Canada [0022] Client devices 130a-130c may each include any processor-based computing device suitable for receiving image data from server 120 and render the image data on a display. Client devices 130a-130c may be configured for establishing a secure connection with server 120 and/or other client devices coupled to communication network 110 in order to send and receive image information across communication network 110. Client devices 130a-130c may be include smart phones, tablets, laptop/desktop/netbook computing devices, wearable media consumption devices (e.g., optical head-mounted display (OHMD), smart watch, etc.), or any other types of processor-based computing system suitable for accessing server 120 and rendering images and related data on a display associated with the respective device.
[0023] As further shown in Fig. 1, a state model 140 may be communicated between the server 120 and/or client devices 130a-130c. The state model 140 contains application state information that is updated in accordance with user input data received from a user interface program or imagery currently being displayed by the client device 130a-130c.
The remote access server also updates the state model 140 in accordance with the screen or application data and provides the same to the client device 130a-130c for display.
[0024] In the environment of the present disclosure, the state model 140 may contain information about images being viewed by a user of the client device 130a-130c, i.e.
the current view. The state model 140 may also contain information about the display area of the client device 130a-130c. This information may be used when rendering image data and test images at the server 120 and/or the client 130a-103c. Thus, information in the state model 140 may be used to enable test images to be rendered on either the client 130a-130c or the server 120, and switching therebetween.
[0025] TG-18 TEST IMAGES
diagnostic images. In such environments, there is a need to insure that the client device displays do not compromise image quality and ultimately patient care. As such, standard test images, such as those described below, have been published to provide for testing and quality control of client devices on which diagnostic image data is displayed.
[0027] FIG. 2 illustrates a TG-18 CT image test pattern 200. The TG-18 CT test pattern is used to assess the contrast transfer characteristics associated with the luminance response of the display of a computing device. The pattern 200 includes an array of 16 boxes 201 varying in luminance from 8 [128] to 248 [3968] embedded in a uniform background. Each box 201 differs in pixel value by the same amount and contains four small 10 x 10 corner boxes 205 at 4 [ 64] pixel value difference from the background. In addition, at the center of each box 201 is a circle 203, where each side of the circle is a 2 [ 32] pixel value difference from the background.
[0028] The image test pattern 200 has a defined height 202 and width 204. For example the height 202 and width 204 is 1024 pixels. The array of boxes 201 is positioned having a vertical margin 206 and a horizontal margin 208 from respective edges of the image test pattern 200. Each box 201 in the array has a side 212 having a length of 102 pixels. The boxes 201 are separated by a distance 212 of 51 pixels. The circle 203 within each box 201 (a representative circle 203 emphasized for purposes of the present disclosure) has a diameter 214 of 34 pixels and the four corner boxes 205 have sides 216 having a dimension of 10 pixels.
As will be described below, when an image test pattern 200 is generated on the fly for a particular display size in accordance with the present disclosure, the various dimensions described above are adjusted/scaled to maintain relative sizes of the boxes, circle, corner box, and spacing between the boxes. Thus, the image test pattern 300 may be scaled to create an appropriate test image for any client device assessment of display bit depth. The test pattern 300 includes a background of 256 (i.e., black), and pattern contains 16 ramps, each covering 1/16 of a 12-bit pixel value range from 0 to 4095.
Small markers indicate 8-bit and 10-bit pixel value transitions. The image test pattern 300 has a defined height 302 and width 304. For example the height 302 and width 304 may be 1024 pixels. Within a central portion of the image test pattern 300, there is a series of 16 vertical bands 301 forming a central box 303, where each band 301 is a ramp of 16 boxes 305 (a representative box 305 emphasized for purposes of the present disclosure)containing incremental shades of grey. A central box 303 has a vertical margin 306 and a horizontal margin 308 from respective edges of the image test pattern 300. Each band 301 has a width 312 of 48 pixels. As will be described below, when an image test pattern 300 is generated on the fly for a particular display size in accordance with the present disclosure, the various dimensions described above are adjusted/scaled to maintain relative sizes of the boxes, circle, corner box, and spacing between the boxes. Thus, the image test pattern 300 may be scaled to create an appropriate test image for any client device.
[0029]
[0030] DYNAMIC GENERATION OF TG-18 TEST IMAGES
[0031] FIG. 4 illustrates an operation flow 400 for dynamic generation of a TG18-CT
test image in accordance with client device display area. The operational flow may be performed by the server 120 or a combination of the server 120 and client devices 130a-130c.
At 402, the process begins. For example, the server 120 may expose a web API
that is called by the client device. At 404, information regarding the client display is received. For example, the server 120 may receive display area information from the client device in the state model 140.
Alternatively, a window size may be defined within the client display area. At 406, it is determined if a minimum dimension is less than 663 pixels. The value of 663 pixels is used x 4) and spacing (51 pixels x 5). Typically a display area is measured as a width times a length (e.g., 480 x 800 px), where one dimension is larger than the other. Often, the width of a handheld display is smaller than the length of the display; therefore the minimum dimension is typically the width value (e.g., 480 px). It is noted that when the display is rotated, the TG-18 CT image also rotates accordingly.
[0032] If, at 406, the minimum dimension is less than 663 pixels then the process continues at 408, where the box size, spacing, corner box size, and circle diameter are reduce by multiplying the minimum dimension determined at 406 by 663. With reference to FIG. 2, the block size 212, spacing 210, corner box size 216, and circle diameter 214 are reduced in accordance with the relationship of the minimum dimension divided by 663. The process continues at 416, where the test image is rendered. For example, the server 120 may render a test image in accordance with the sizes determined at 408. At 418, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 416 and displayed at 418.
[0033] If at 406, the minimum dimension is not less than 663 pixels then the process continues at 410, where is determined if the minimum dimension is less than or equal to 1024 pixels. If the minimum dimension is less or equal to than or equal to 1024 pixels, then at 412, the vertical and/or horizontal margins are adjusted to maintain the image in a center position and to maintain the center contents at default sizes. For example, the vertical margin 206 and/or the horizontal margin 208 may be adjusted to center the array of boxes 301 within the test image. The process continues at 416, where the test image is rendered.
For example, the server 120 may render test image in accordance with the sizes determined at 412. At 418, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 416 and displayed at 418.
then at 414, the box size, spacing, corner box size and circle diameter multiplied by a factor of the minimum dimension divided by 1024. With reference to FIG. 2, the block size 212, spacing 210, corner box size 216, and circle diameter 214 are multiplied by a factor of the minimum dimension divided by 1024. The process continues at 416, where the test image is rendered.
For example, the server 120 may render test image in accordance with sizes determined at 414.
At 418, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 416 and displayed at 418. After the test image is sent to the client device 418, the process ends at 420.
[0035] Thus, the operational flow 400 provides a method for generating TG18-CT on-the-fly in accordance with a display size of the client device. The operational flow 400 serves to adjust the various components of the test image 300 such that they appropriately sized for the display.
[0036] FIG. 5 illustrates an operation flow 500 for dynamic generation of a TG18-MP
test image in accordance with a client device display area. The operational flow may be performed by the server 120 or a combination of the server 120 and the client devices 130a-130c. At 502, the process begins. For example, the server 120 may expose a web API that is called by the client device. At 504, information regarding the client display is received. For example, the server 120 may receive display area information from the client device in the state model 140. Alternatively, a window size may be defined within the client display area. At 506, it is determined if the minimum dimension is greater than 1024 pixels. As noted above, the minimum dimension is the lesser of the length and width of the display area of the client device. It is noted that when the display is rotated, the TG-18 MP image also rotates accordingly. If the minimum dimension is less than 1024 pixels, then at 508, the main box width and height is increased by the factor of the minimum dimension divided by 1024, main box with 312 and the height 310 are increased by the above-noted factor.
Next, at 518, the ramp boxes 305 are scaled to fit within the calculated main box 301 width and height from 508. At 520, the test image is sent to the client device for display. At 520, the process continues, where the test image is rendered. At 522, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 520 and displayed at 522. At 524, the process ends.
[0037] If at 506, the minimum dimension is not greater than 1024 pixels, then at 510 it is determined if the display width is less than the main box with. The main box width is shown in FIG. 3 by reference numeral 312. If the display width is less than the main box width, then the main box with is iteratively reduced at 512 by a factor of 16. The iterative process at 512 continues until the display width is not less than the main box width 312, at which time the process continues at 514 where it is determined if the display height is less than the main box height 310. If, at 514, the display height is less than the main box height 310, then at 516 the main box height 310 is iteratively reduced by a factor of 16 until the display height is not less than the main box height 310. When this condition is met at 514, the process flows to 518, where the ramp boxes 305 are scaled to fit within the main box width and height from 512 and 516, respectively. At 520, the process continues, where the test image is rendered. At 522, the test image is displayed at the client device. In some implementations, the test image may be rendered at the client device 130a-130c at 520 and displayed at 522. At 524, the process ends.
[0038] Thus, the operational flow 500 provides a method for generating on-the-fly in accordance with a display size of the client device. The operational flow 500 serves to adjust the various components of the test image 400 such that they are appropriately sized for the display.
environments or configurations may be used. Examples of well known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network personal computers (PCs), minicomputers, mainframe computers, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.
[0040] Computer-executable instructions, such as program modules, being executed by a computer may be used. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Distributed computing environments may be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices.
[0041] FIG. 8 shows an exemplary computing environment in which example embodiments and aspects may be implemented. The computing system environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality.
[0042] With reference to Fig. 8, an exemplary system for implementing aspects described herein includes a computing device, such as computing device 600. In its most basic configuration, computing device 600 typically includes at least one processing unit 602 and memory 604. Depending on the exact configuration and type of computing device, memory 604 may be volatile (such as random access memory (RAM)), non-volatile (such as read-only configuration is illustrated in Fig. 8 by dashed line 606.
[0043] Computing device 600 may have additional features/functionality.
For example, computing device 600 may include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape.
Such additional storage is illustrated in Fig. 8 by removable storage 608 and non-removable storage 610.
[0044] Computing device 600 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by device 600 and includes both volatile and non-volatile media, removable and non-removable media.
[0045] Computer storage media include volatile and non-volatile, and removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
Memory 604, removable storage 608, and non-removable storage 610 are all examples of computer storage media. Computer storage media include, but are not limited to, RAM, ROM, electrically erasable program read-only memory ([[PROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 600. Any such computer storage media may be part of computing device 600.
[0046] Computing device 600 may contain communications connection(s) 612 that allow the device to communicate with other devices. Computing device 600 may also have input device(s) 614 such as a keyboard, mouse, pen, voice input device, touch input device, etc.
Output device(s) 616 such as a display, speakers, printer, etc. may also be included. All these devices are well known in the art and need not be discussed at length here.
implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, e.g., through the use of an application programming interface (API), reusable controls, or the like. Such programs may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language and it may be combined with hardware implementations.
[0048] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (20)
1. A method of dynamically generating a test image for a client device from a standard test image on a server, the standard test image having components therein and a border defined by a horizontal margin and a vertical margin, the method comprising:
receiving, at the server, display dimensions from the client device;
determining if a minimum dimension of the display dimensions is less than a first predetermined value;
if the minimum dimension is less than the first predetermined value, then reducing a size of the components by a factor of the minimum dimension divided by the predetermined value for rendering the test image for display at the client device; and if the minimum dimension is not less than the first predetermined value, then determining if the minimum dimension is less than or equal to a second predetermined value;
if the minimum dimension is less than or equal to the second predetermined value then adjusting at least one of the vertical margin and the horizontal margin to maintain an array of boxes in a centered position with respect to the test image for rendering the test image for display at the client device; and if the minimum dimension is not less than or equal to the second predetermined value then increasing a size of the components by a factor of the minimum dimension divided by the second predetermined value for rendering the test image for display at the client device.
receiving, at the server, display dimensions from the client device;
determining if a minimum dimension of the display dimensions is less than a first predetermined value;
if the minimum dimension is less than the first predetermined value, then reducing a size of the components by a factor of the minimum dimension divided by the predetermined value for rendering the test image for display at the client device; and if the minimum dimension is not less than the first predetermined value, then determining if the minimum dimension is less than or equal to a second predetermined value;
if the minimum dimension is less than or equal to the second predetermined value then adjusting at least one of the vertical margin and the horizontal margin to maintain an array of boxes in a centered position with respect to the test image for rendering the test image for display at the client device; and if the minimum dimension is not less than or equal to the second predetermined value then increasing a size of the components by a factor of the minimum dimension divided by the second predetermined value for rendering the test image for display at the client device.
2. The method of claim 1, wherein the first predetermined value is a minimum value determined in accordance with a box size and spacing between each box in the test image, the box sizes and the spacing being determined in accordance with default values defined by a TG-18 CT test image.
3. The method of any of claims 1-2, further comprising rotating the testing image in accordance with an orientation of a display of the client device.
4. The method of any of claims 1-3, further comprising, if the minimum dimension is less than the first predetermined value, then reducing a box size, a spacing between boxes, a corner box size, and a circle diameter.
5. The method claim 4, wherein the reducing is performed by multiplying the minimum dimension by the first predetermined value.
6. The method of any of claims 1-5, further comprising if the minimum dimension is between the first predetermined value and the second predetermined value, then vertical and/or horizontal margins are adjusted to maintain the test image in a center position.
7. The method of any of claims 1-6, further comprising if the minimum dimension is greater than the second predetermined value, then a box size, a spacing between boxes, a corner box size and a circle diameter multiplied by a factor.
8. The method of claim 7, wherein the factor is determined by dividing the minimum dimension divided by the second predetermined value.
9. The method of any of claims 1-8, further comprising exposing a web API at the server that is called by the client device.
17 information from the client device in a state model.
11. The method of any of claims 1-10, wherein the first predetermined value is pixels, and wherein the second predetermined value is 1024 pixels.
12. The method of any of claims 1-11, wherein the test image is a TG-18 CT
test image.
test image.
13. A method of dynamically generating a test image for a client device from a standard test image on a server, the standard test image having components therein defining a component width and a component height, the test image having a border defined by a horizontal margin and a vertical margin, the method comprising:
receiving, at the server, display dimensions from the client device;
determining if a minimum dimension of the display dimensions is greater than a first predetermined value;
if the minimum dimension is greater than the first predetermined value then:
increasing a size of the component width and the component height by a factor of the minimum dimension divided by the predetermined value, rounding down to a nearest multiple of a second predetermined number and adding a third predetermined number of pixels to the border;
scaling the components to fit within a new size of the component width and the component height; and displaying the test image at the client device;
then:
determining if a display width is less than the component width, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width;
determining if a display height is less than the component height, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width;
scaling the components to fit within a new size of the component width and the component height; and displaying the test image at the client device.
receiving, at the server, display dimensions from the client device;
determining if a minimum dimension of the display dimensions is greater than a first predetermined value;
if the minimum dimension is greater than the first predetermined value then:
increasing a size of the component width and the component height by a factor of the minimum dimension divided by the predetermined value, rounding down to a nearest multiple of a second predetermined number and adding a third predetermined number of pixels to the border;
scaling the components to fit within a new size of the component width and the component height; and displaying the test image at the client device;
then:
determining if a display width is less than the component width, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width;
determining if a display height is less than the component height, and if so, iteratively reducing the component width by the second predetermined value until the display width is not less than the component width;
scaling the components to fit within a new size of the component width and the component height; and displaying the test image at the client device.
14. The method of claim 13, wherein the first predetermined value is 1024.
15. The method of any of claims 13-14, wherein the second predetermined value is 16.
16. The method of any of claims 13-15, further comprising rotating the testing image in accordance with an orientation of a display of the client device.
17. The method of any of claims 13-16, further comprising exposing a web API
at the server that is called by the client device.
at the server that is called by the client device.
18. The method of any of claims 13-17, wherein the server receives display area information from the client device in a state model.
19 image.
20. A method of dynamically generating a test image for a client device from a standard test image on a server, the standard test image having components therein and having a horizontal margin and a vertical margin, the method comprising:
receiving, at a server, display dimensions from a client device;
determining if a minimum dimension of the display dimensions is less than a first predetermined value, and if not, increasing a size of the components in accordance with the a first factor determined in accordance with the minimum dimension and the first predetermined value; and if the minimum dimension of the display dimensions is less than the first predetermined value, reducing a size of the components in accordance with a first factor determined in accordance with the minimum dimension or reducing the size of the components in accordance with a second factor determined in accordance with the minimum dimension and a second predetermined value.
receiving, at a server, display dimensions from a client device;
determining if a minimum dimension of the display dimensions is less than a first predetermined value, and if not, increasing a size of the components in accordance with the a first factor determined in accordance with the minimum dimension and the first predetermined value; and if the minimum dimension of the display dimensions is less than the first predetermined value, reducing a size of the components in accordance with a first factor determined in accordance with the minimum dimension or reducing the size of the components in accordance with a second factor determined in accordance with the minimum dimension and a second predetermined value.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261740983P | 2012-12-21 | 2012-12-21 | |
US61/740,983 | 2012-12-21 | ||
PCT/IB2013/003245 WO2014108731A2 (en) | 2012-12-21 | 2013-12-20 | Dynamic generation of test images for ambient light testing |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2894973A1 true CA2894973A1 (en) | 2014-07-17 |
CA2894973C CA2894973C (en) | 2022-05-24 |
Family
ID=51167467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2894973A Active CA2894973C (en) | 2012-12-21 | 2013-12-20 | Dynamic generation of test images for ambient light testing |
Country Status (2)
Country | Link |
---|---|
CA (1) | CA2894973C (en) |
WO (1) | WO2014108731A2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1662477A1 (en) * | 2004-11-26 | 2006-05-31 | Barco N.V. | Test or calibration of displayed greyscales |
US7890573B2 (en) * | 2005-11-18 | 2011-02-15 | Toshiba Medical Visualization Systems Europe, Limited | Server-client architecture in medical imaging |
US8401256B2 (en) * | 2006-11-13 | 2013-03-19 | General Electric Company | Systems and methods for an interactive PACS image display test image |
CN102713913B (en) * | 2009-10-14 | 2016-08-31 | 特莱斯伊美津股份有限公司 | For translation medicine image medical image is transported to mobile device and telecommunication system system and method |
US20120084350A1 (en) * | 2010-10-05 | 2012-04-05 | Liang Xie | Adaptive distributed medical image viewing and manipulating systems |
US8896619B2 (en) * | 2011-03-09 | 2014-11-25 | Mckesson Financial Holdings | Apparatus, method and computer-readable storage medium for compensating for image-quality discrepancies |
CA2733860A1 (en) * | 2011-03-11 | 2012-09-11 | Calgary Scientific Inc. | Method and system for remotely calibrating display of image data |
JP2015534160A (en) * | 2012-09-10 | 2015-11-26 | カルガリー サイエンティフィック インコーポレイテッド | Client-side image rendering in client-server image browsing architecture |
-
2013
- 2013-12-20 CA CA2894973A patent/CA2894973C/en active Active
- 2013-12-20 WO PCT/IB2013/003245 patent/WO2014108731A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2014108731A3 (en) | 2014-11-13 |
WO2014108731A2 (en) | 2014-07-17 |
CA2894973C (en) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9224009B1 (en) | System and method for applying privacy settings to a plurality of applications | |
US20160342372A1 (en) | Dynamic generation of test images for ambient light testing | |
US7584415B2 (en) | Common charting using shapes | |
US20130007895A1 (en) | Managing access control for a screen sharing session | |
US20090085921A1 (en) | Populate Web-Based Content Based on Space Availability | |
US10943270B1 (en) | Scalable native in-stream advertising for mobile applications and websites | |
DE112015004507T5 (en) | Method and device for image processing | |
US11645227B2 (en) | Mapping tests of spreadsheets in server-browser environments | |
US11265377B2 (en) | Multi-location exchange of medical images and data | |
US9336405B2 (en) | Photographic copy prevention of a screen image | |
US20220060671A1 (en) | Dynamically generating and changing view-specific-filter parameters for 360-degree videos | |
US11037520B2 (en) | Screen capture prevention | |
US20200294177A1 (en) | Systems and methods for providing a visible watermark in a remote session | |
CN108022216B (en) | System and method for reducing MPR artifact | |
US20170109898A1 (en) | Rendering images using color contribution values of render elements | |
US9373272B2 (en) | Dynamically updating map projections | |
See et al. | Virtual reality 360 interactive panorama reproduction obstacles and issues | |
US11429557B2 (en) | Templatization of spreadsheets in browser environments | |
JP2023548143A (en) | Dynamic user device upscaling of media streams | |
CA2894973C (en) | Dynamic generation of test images for ambient light testing | |
WO2023050744A1 (en) | Map editing method, system, apparatus, computer device, program product, and storage medium | |
CN110574356B (en) | Dynamic color gamut adjustable display | |
EP3056996A1 (en) | Server device, client device, information processing method, and recording medium | |
CN114385957A (en) | Landing page creation method and station building platform | |
EP4143816A1 (en) | Dynamic data tiling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |
Effective date: 20181210 |