PACS Desktop Viewer


Resolved Issues

Viewer 30

Download PDF

Viewer crash while creating cross section series 

When generating orthogonal image views from a series that contains an image not applicable to the volume, the viewer might attempt to use the inapplicable image if it processed the image before finding an applicable image, causing the viewer to crash.

Thumbnail panel doesn't use settings for DICOM information 

The floating thumbnail panel’s header and footer labels failed to appear because it didn’t check the configuration settings when rendering the image.

Some tasks don't receive the stop flags at bookmarking 

If the RIS attempts to bookmark a study too quickly after launching a new viewer session, the viewer pump could get in a locked state, hanging the viewer.

Viewer sends 0 size request on stream server - 3 sec extra waiting 

After the viewer downloads the herpa data, it requests the image data. If the request was issued before the herpa data was completely processed, it could specify no data which put the stream server into a short sleep cycle, delaying the transfer of image data.

Viewer 29

Download PDF

CAD objects are added as PS group 

Images with referenced CAD SR objects listed in the thumbnail panel’s presentation group failed to load in an image frame properly because the CAD object doesn’t contain the necessary view information.

KI/PS partially updated when loaded from thumbnail panel 

Loading a presentation state image into an image frame failed to apply the magnification and position settings because these characteristics are handled differently when loading the image into the image frame.

Viewer 28

Download PDF

Update study doesn't work in cloud (OS) viewer 

An unimplemented tool labeled Update Study was included in the default Session menu. It has been removed.

Viewer crash when we send cross section series to the server 

The processed orthogonal image doesn’t account for different horizontal and vertical pixel spacing and therefore cannot create a DICOM-compliant object that can be registered by the server. Uploading these objects has been disabled, which eliminates the crash. To create orthogonal view series that can be uploaded to the server and saved as presentation states and key images, generate the series using the MPR or 3D plugin extensions.

Visibility flag can cause deadlock at study finalizing 

Updating the (frame) visibility state of an image while decompressing the image at the same time could lead to a deadlock because each process was its own thread.

Reports can't be finalized through the viewer 

The viewer was requesting the report data using a retired data format that the new json-formatted data didn’t support. As a result, the viewer was unable to display the report for review and approval.

Slow loading of large studies - Thread priorities 

Study loading performance would degrade as the number of images increased because larger image counts resulted in more high priority worker threads (to handle the larger number of IQ images). The number of high priority threads downgraded Windows UI refreshes making the viewer appear sluggish.

Zero size stream packet support causes deadlock 

A timing issue when decompressing the final (zero-length) packet could result in a deadlock condition.

Viewer doesn't get the right modality for session modality 

The change to json formatted data in the PBS file changed the way modality was encoded enabling the viewer to miss the modality value of the first study, which caused the viewer to select the wrong hanging protocol in mixed-modality studies.

Stream performance issue, missing image table sending 

When first loading a viewer session, an unnecessary delay might happen if the user does not update the images (e.g. scroll) in the image frame.

Viewer doesn’t restore the updated study in DHOS cloud environment 

When using the viewer in the cloud environment and the study update notification appeared prompting the user to update the viewer session contents, the viewer didn’t use the cloud-specific function to restore the bookmarked session, resulting in an empty viewer session.

Viewer Build 27

Download PDF

GDI memory/handle leaking 

Some memory allocated when creating an overlay image was not released properly leading to a resource leak.

Viewer crash when applying Image Enhancements on Cross-section series 

If image enhancement was applied to a series containing fewer than eight rows, the viewer could crash.

Panning a KI is wrong in the viewport 

Loading a key image or presentation state into an image frame did not apply the saved position if the zoom factor and image position combined to create an image position outside the scope of the original image size.

Small thumbnails truncate the Add Study button 

If small thumbnails are used, the add study button did not appear on the unloaded study header, preventing users from loading the study. While the button icon might still be invisible, the function is invoked when the user clicks anywhere in the unloaded study’s study header.

Thumbnail panel primary study appears on second monitor 

If the viewer session starts with a hidden thumbnail panel, displaying it will place the study list on the second monitor due to a calculation error in the reset function.

Floating thumbnail panel has infinite refreshing loop 

The floating thumbnail panel failed to clear embedded calls to refresh the screen causing an infinite loop that slowed down the viewer scrolling function.

Viewer Build 26

Download PDF

Adding study creates wrong cache entry 

When adding a study to an active viewer session and creating the memory cache entry, the viewer failed to parse the study (PBS) data. As a result, the viewer failed to find the cache entry and have to recreate it on the fly.

Fuzzy rendered images 

An unintended change to the default rendering mode to one that used a sampling value smaller than the full quality. The original setting has been restored.

Plugin exporting black images 

The viewer failed to set the priority when exporting images from a plugin allowing the memory manager to purge them before they were saved to the server.

HP not loading Fusion correctly 

A hanging protocol that included a fusion frame failed to record which functional series was loaded and always selected the first. Also, when the viewer loaded the hanging protocol, it searched for the first series that matched some criteria and stopped checking other series, which should have been selected because it might have matched the criteria better.

Functional series not suitable for fusion module resulted in a crash 

When loading a series functional series into a fusion frame, the viewer checks the series’s images to assure some part of the data can be used as the functional date. When the series contains no usable data, the viewer would crash rather than report the condition.

Viewer Build 25

Download PDF

Hand icon not shown on 2D CAD to click and check the linked Tomo series

When the mouse cursor hovers over a mammography finding on a 2D image in a study with tomo series that support cross referencing, the cursor icon might not change to indicate the link to the tomo frame with the corresponding finding.

Viewer doesn't parse the Accession number in JSON format 

The JSON parser could fail to extract the accession number from the pbs data and exclude the study in the list sent to the WMI client. As a result, the WMI client believes the study was not loaded, causing subsequent Append or Restore commands to drop the study in the command.

Black image frames 

If the network is slow to deliver an image or the initial quality compressed image size was less than the viewer needed, the image frame would display no data (image, overlay, etc.)

Deephealth/Saige Density error codes missing in CAD header 

The Saige-Density CAD header didn’t display the error code when Saige processing failed.

Viewer Build 24

Download PDF

Wrong image order, unwanted groups 

When the viewer loaded a study and added images to a group (study), it could sort the data before it initialized the data values used to define the sort order. As a result of the incorrect sort order, the auto-splitting function would separate the images into additional series, causing unwanted series in the thumbnail panel.

Thumbnail panel out of sync when the PS/KI group is collapsed 

In a multi-monitor environment, expanding the presentation group might not expand onto the second monitor.

Undesirable thumbnail panel resets 

When the thumbnail panel’s contents extended beyond the width of the thumbnail panel and the scroll position of the primary study’s header is off-screen, adding an object such as a key image or presentation state to the presentation group reset the primary study’s header position so it was again visible at the beginning of the thumbnail panel.

Appending to coercion variable doesn't work 

The coercion concatenation function, concat(), failed when the initial parameter in the instruction was a custom variable.

Conditional XML drop doesn't work for "Dictation" trigger

After issuing the record command, the viewer failed to check for engines using the conditional XML drop feature.

Conditional XML drop closes event handling 

Dropping an XML file on a close event occurs only if an open or dictate event is configured.

Conditional XML drop uses wrong study order in file 

When opening multiple studies into a viewer session, it was possible for the viewer to insert the wrong study identifiers in a dropped XML file because the viewer didn’t use the original study order when organizing the study list.

Coercion-based XML drop doesn't work with built-ins 

The XML file drop feature failed to create the file for built-in options if a condition was assigned to it.

Waiting for study parsing to finish can cause task starvation 

If loading more cached studies into a viewer session than there are configured threads, the viewer might become deadlocked waiting for both images and presentation states processing tasks to complete.

Inconsistent case sensitivity for W/L sets 

There were cases in which present window/level setting labels were handled without regard to case, allowing the viewer to ignore some values. These labels are now all case sensitive.

Viewer crashes on small (2x2) images

There is an unnecessary lower limit set for supported image sizes and if an image did not contain enough data, the viewer crashed. The limit has been removed.

Viewer Build 23

Download PDF

Plugin Window/Level function doesn't work properly

Plugin frames add their own window/level preset entries to the list but this didn’t happen under all conditions, resulting in missing options in the preset W/L list.

Black thumbnail images 

When loading a study into a viewer session, presentation state objects were not included in the prioritized download sequence. As a result, the thumbnail image would be unavailable until all other images were downloaded first.

Viewer doesn't apply the orientation of the PS 

If a rotated image is saved as a presentation state and loaded into an image frame, the auto-orientation setting reset the rotation setting, rendering the presentation state image without the rotation.

Multiple XML drop configuration doesn't work 

When the viewer is configured to drop multiple XML files for the same event, an uninitialized parameter could cause the viewer to mishandle the file type identifier, causing multiple files to have the same content.

Early closing causes viewer waiting on the background task 

If the user closed a viewer session before the study report view was initialized, the viewer would get stuck waiting for the report download to complete.

Study state checking can cause crashes 

If the user closes the viewer session immediately after it launches, the viewer can check for the study state before it has set up the session fully, causing it to crash.

Uploading PSs reloaded from disk 

After uploading a presentation state fails and the user selects to save them locally, reopening the study loaded the saved objects into the viewer but didn’t (attempt to) upload them to the server.

Report tabs not displayed 

When opening multiple studies, the tab position information was not properly reset, causing some tabs in the report panel to be missing or inaccessible.

Crash when using non-base type rulers for calibration 

Using the OB measurement annotation tools rather than the general measurement annotation tools to calibrate an image could result in a viewer crash because references to the calibration window were not cleared.

Wrong label type for spine sets in the default profile 

The format for storing spine labels changed causing the default spine line type value to change to spaces rather than vertebral bodies.

PS creates invalid DICOM file 

If the user reloaded an image into a frame after starting an annotation with presentation state generation set to auto-create, and then annotated the updated image, sending the presentation state to the server would fail and generate an invalid DICOM object.

Flickering images when viewer jump to mammo finding 

If the cross-reference tool is applied to a CAD finding before the referenced image has been downloaded fully, the image could flicker in the frame.

Viewer Build 22

Download PDF

Black images appear in tile mode scrolling 

When scrolling through a series in a tile view, only the first image tile was assured to be present. The remaining tile images, if not already downloaded, would appear empty (black) until the download completed.

Append study doesn't show the state of a non-cooked study 

When appending an uncooked study to a viewer session, the state and cooking progress information was not displayed, causing the viewer to appear hung until cooking completed.

Viewer Build 21

Download PDF

Wrong tile view layout in image frame

When scrolling through a tiled image frame and the viewer came across an image that was not fully downloaded, no image was displayed, causing the tile to appear empty (black) until the image is fully downloaded.

Viewer Build 20

Download PDF

Report updating issue results in a viewer crash 

When opening a viewer session containing a locked study with key images, and the user breaks the lock before all the images arrive, the viewer can crash when it updates the thumbnail list.

Warning message handling on Stream communication 

The viewer assumed a warning message received in a stream channel contained three values, but this was not always the case. As a result, it could mishandle the message.

Profile restoring fixes 

When restoring a user profile, the viewer used the wrong data restoration pump causing error reporting and logging to fail. This could report the operation failed when it succeeded if the transfer took longer than expected, and failed if a custom port was defined.

Screen sharing blocking thumbnail image dropping 

When running a screen sharing application, such as Slack, the viewer’s drag-and-drop features failed to load a thumbnail in an image frame. The screen sharing app creates a transparent frame that the viewer did not recognize, preventing it from finding its target image frame.

Viewer doesn't recognize some Windows OS messages 

The viewer failed to recognize some Windows messages used in Windows 11 to manipulate the window, such as maximizing the window by double-clicking the window title bar or dragging the title bar to the edge of the screen.

CAD objects references are off by one 

Deephealth MG CAD objects calculated the referenced frame number incorrectly, starting the index from zero rather than one. The viewer adopted Deephealth’s interpretation of referenced frame numbers, causing cross references of other MG CAD objects to be off by one frame. Note that the positioning of CAD findings and their markers was not affected. The interpretation has been resolved, as defined by DICOM, and existing MG CAD objects from other vendors are applied correctly. Existing Deephealth MG CAD objects containing the invalid index are handled as defined by HPV-218.

Finishing herpa downloading on stream doesn't lock the list 

A failure to lock the stream task list could permit two streaming threads to update it at the same time, leading to a viewer crash when removing the stream task from the list after the herpa transfer completed.

Viewer Build 19

Download PDF

Shortcut window button states aren't updated properly

After deleting the last shortcut macro from the shortcut manager panel, some buttons remained active but uninitialized, causing the viewer to crash if clicked.

Update causes viewer crash while creating key images

A missing lock allowed the viewer to render a partially created key image thumbnail, causing the viewer to crash.

Unwanted thumbnail panel refresh while uploading objects causes viewer crash

The viewer could crash when closing due to an unnecessary refresh of the thumbnail panel. Additional logging has been added to help identify the source of the thumbnail panel refresh.
 

Viewer Build 17

Smart Fit not effective for certain tomo series

Due to a long-standing, now obsolete display requirement, thin images (i.e., images with few columns) displayed in wide frames might not be justified to the frame edge when indicated, as when Smart Fit justifies the chest wall in mammography images to the frame edge. This restriction has been eliminated, allowing images of any width to be moved, manually or automatically, to any position in the image frame.

Viewer Build 16

Encapsulated PDF documents are not uploaded with CDUpload

When uploading data from a DICOM CD containing a DICOMDIR file, encapsulated PDF objects were skipped and not uploaded because the upload application didn’t check for these object types.

Viewer Build 15

NA

Viewer Build 14

PS upload displays a Completed dialog box even though the upload fails

REVERSIBILITY NOTICE: If there are reports saved locally, due to a bookmarked study or crashed viewer session, these cannot be recovered if reverting to a prior version.

The viewer failed to check for an error after it submitted presentation states to the server and always reported the send completed successfully. The viewer now checks the status returned by the server. When there are errors, the message indicates which presentation states failed. The user can decide to continue without them or to delete the presentation state in the viewer and recreate it.

Question mark displayed in managed back-up profile window

When using some language settings, the backup management panel failed to convert some characters to UTF-8 properly, resulting in invalid characters in place of accented characters in labels, dates and other text details.

CD viewer cannot load multiple studies properly

When multiple studies reside on DICOM media created by eRAD PACS, the viewer might miscalculate the number of series or objects it’s been asked to open. As a result, only some of the series would be loaded.

Viewer Build 13

Viewer crash: WL preset reloading crashed

When the user initiates a viewer session (Evo7 only) with the study currently being prefetched, the viewer might unlock the pump manager more than once, causing other threads to unlock prematurely and result in a hang or crash.

Viewer Build 12

Unreleased cache references in CDcvStudy

When the user interrupts image downloading, e.g., by closing a study while it is loading, the viewer fails to release some cache object references, leading to a resource leak.  This has been resolved.

Viewer Build 11

Fuzzy images in the CD viewer

If the scheduler is interrupted when the CD viewer is loading images, the study being processed might not complete because the scheduler thread didn’t get restarted. As a result, some images would not be fully processed/decompressed.

Memory leak when there was an invalid study loading

If study load was interrupted when parsing the pbs file, the viewer might not free the study data container, leading to a memory resource leak.

Wrong error handling in image CClipRegion

If the call to draw an image failed to acquire a lock, it returned an error code the viewer didn’t recognize, resulting in inconsistent behavior.

Temp pump calls only one read task

For non-image data downloads, the temp pump was set to make a single request for data. If the data was greater than the requested size (32K), the remaining data was not downloaded.

Misleading info in the "Lock broken" messages

An uninitialized lock age parameter could result in misleading data in a broken log message. To accommodate very old locks, the lock age variable was increased from 32-bits to 64-bits.

Viewer Crash or Hang after logout and relogin

The viewer’s login dialog box was not started by the main thread. When the user logged in from the browser while this dialog was displayed, the viewer could hang or crash if they also attempted to enter data in the viewer’s login dialog box.

Viewer Build 10

Viewer doesn't set the size of thumbnails in some cases

When the viewer resampled a thumbnail image using the image in memory (rather than from the herpa data), the viewer failed to set the thumbnail image size.

Navigation not working when user changed his preference language other than English

Links embedded on the settings panel failed when the applied language profile was not English because the links referenced the page by name, which changed after selecting another language.

Viewer Build 9

UPGRADE DEPENDENCY: This viewer requires desktopApps-9.0.33 or later.

File mapping error after interrupted herpa loading causes crash

The handshake between the cache manager and the viewer (specifically the study pump) could fail if the study pump is blocked but the pump manager removes a study from the list. The cache manager could remove the references after the study closes, but the viewer might attempt to use them when it opens the same study again.

Login and logout can crash if the connection is broken

The viewer failed to handle an exception, likely the result of a broken network connection, when logging in and out of a server, resulting in a viewer crash.

Persistent dictation with Speechmike doesn't always work as expected

If the user received a popup notice while in the persistent recording state, the viewer could become stuck in that state after the popup clears and the user releases the record button.

Viewer Build 8

Issue with submitting report

When the viewer attempted to submit a report containing a status change, it could fail to include the impression data which would cause the server to hang, waiting for it. As a result, the viewer would get stuck in the closing state.  This has been resolved.

Thumbnail panel update can cause crashes at loading

When the viewer is running very slowly, for example, when a misconfigured antivirus solution is running, decompression, thumbnail creation and saving is delayed. As the viewer continues downloading the remaining compressed thumbnail data, the packets could get out-of-sync and some data can get released before it is used, causing the viewer to crash.  This has been resolved.

Stream table crash

The viewer failed to confirm a streaming task record still existed before attempting to access it.  This has been resolved.

Viewer Build 7

The WL histogram window's gradient should be inverted

The scale at the bottom of the window/level distribution graph failed to recognize the greyscale photometric interpretation setting and always assumed zero was black, resulting in an inverted distribution graph when the image is defined as MONOCHROME1.

Viewer crash: save HP with tile layout can crash with hyper streaming setting

When using streaming protocol and the visible image frame in the original layout is set to use more tiles than there are images in the series rendered to that frame, the viewer would crash.

Viewer crash: Stream study table managing

After the viewer stored the study UID in the stream server table, it incorrectly removed it when the session closed rather than when the study container was removed. If the viewer attempted to access the study referenced by the study container, it could crash.

Enable username and password fields for every tool on external reporting settings page

The availability of a configurable user name and password to include in the XML file when dropped was applied to external reporting solutions with the specific label “XML Interface Speech Recognition” rather than any XML file drop solution.

Viewer Build 6

WMI update call can cause deadlock

When updating the thumbnail panel after receiving a request to add a study to the session, the viewer would allocate a structure to store the new studies, overriding the previous structure. However, the viewer did not properly remove the original structure, resulting in a read/write lock conflict and a deadlock condition.

Async study dicom processing mechanism can get stuck

If the reader thread and processing thread complete at the same time, the event signal can get crossed, causing one of the threads to miss the signal and hang indefinitely.

Read write lock can cause hang

The locking mechanism could fail when the viewer attempted to allocate multiple read locks, causing a deadlock condition.

Viewer session log doesn't write the viewer type and name

The application name is taken from the resource file but not until after the resource file was loaded. As a result, the application name was missing from the session log file.

Viewer doesn't load the cached study from CWL

If the herpa data is cached on the workstation and the open request is redirected to a server (for example, from a hub server to a child server when the open request was submitted to the worklist server), the viewer failed to initiate a function causing the study parsing to remain incomplete. And when the viewer session ended, the viewer would not close because it was waiting for the thread to close first.

Thumbnail panel crashing when displaying overlay information

If the thumbnail panel’s overlay information setting changed during or after closing the study, the pointer to the thumbnail header object became invalid and caused a crash when accessed.

SetGridMode with Reuse mode crashes if the selected image is removed

After changing the grid mode setting to reuse data in populated image frames when eight or more image frames are on the screen with the selected frame being the last frame, and then changing the layout to one frame per screen, the viewer could crash because the viewer failed to update the selected image frame which no longer existed, even as a frame on a virtual monitor.

Patient Folder opening crashes

Some attempts have been made to address an unidentified crash in low-level Windows libraries when using the viewer’s patient folder.

Invalid server name causes viewer crash

If the server sent the viewer an invalid or empty stream server URL, an exception occurred but the viewer failed to catch it and crashed.

DICOM print crashes with empty ShowImageTrueSizeFlag tag

If the DICOM printer configuration contains an empty value for the true size flag setting, the viewer could crash when printing to the DICOM printer.

Spine label bugs

Spine labeling configuration data was mismanaged and the application of spine labels was mishandled, resulting in unavailable features or unintended behavior. This included the inconsistent storage of spine labels in the current XML-based storage format, improper application of spine label sets when modifying their configuration, and failure to update applied spine label values and connector lines after modifying their settings.

Loading reports dialogue persists after re-opening bookmarked study

Continuing dictation recording after restoring a bookmarked session with a partial dictation popped up a progress panel that would not disappear after reloading completed.

Stream table sorting by priority causes crash

Managing the streaming table failed to recognize a condition in which the study being removed from the table was also in the current sending list, resulting in a viewer crash.

Thumbnail panel update crashing

After removing an auto-generated presentation state image, the viewer might still attempt to update it in the thumbnail panel, causing the viewer to crash.

Light setting (Window/Level) can crash after updating

When reloading a viewer session containing an image that was updated on the server, and for which a modality-specific preset W/L setting was applied, the viewer could crash because the viewer attempted to use the general preset values instead.

Empty frames are loaded when setting grid mode as "Reuse" with the same grid layout

When populated virtual monitors exist, the viewer is configured to reuse populated frames, and the user sets the grid layout to some value twice, the second refresh displays no image in the first monitor’s frames.

VOI LUT range calculation can result in empty range

When the LUT table provided in an image object contained zeroes in both the first and last position, calculating the minimum and maximum values resulted in an error causing the viewer to crash.

Viewer Build 5

Viewer crash getting image download percentage

The viewer could crash when collecting an image’s decompression rate for the download percentage calculation because the thread was not locked.

Viewer hang using spin count of CriticalSection

A recent fix applied to restoring a bookmarked study resulted in the viewer blocking Windows application messages. One of these messages attempted to refresh a locked image, but the viewer didn’t receive the message.

Crash when creating plugin from not downloaded images

If no data has started downloading before the plugin checks to see how much data has arrived, the plugin would crash.

Deleting an image can cause viewer crash

After deleting an image or series that was exported from a plugin, the viewer failed to update the thumbnail panel. When the viewer refreshed the thumbnail panel, for any reason, the viewer would crash.

Multi finalizing call for a view at rare timing

When the viewer is loading multiple studies and processing for the last two (or more) completes at the same time, the viewer can make multiple calls declaring the session is ready to use when only one is needed.

Viewer crash at stream table update

A failure to lock the streaming table when opening a study or appending a study to an existing session resulted in a crash.

Image created by plugins creates a file remaining on the Temporary directory

Image files created by plugin modules remained in the viewer’s temp directory after uploading them to the server.

Empty outline eye icon not shown on unviewed series in the thumbnail panel

When creating a hanging protocol, the viewer failed to recognize the state of non-visible frames. As a result, series loading into non-visible frames when applying a hanging protocol displayed the incorrect viewed image icon on the thumbnail image.

Unable to append a study to an open session

A recent change eliminated a required thumbnail panel refresh. As a result, some data failed to appear in the thumbnail panel after appending a study to an active viewer session.

Empty rescale slope attribute results in a black image

A change in the DICOM library resulted in a different return code when the viewer extracted the rescale slope value from the object. As a result, a default value wasn’t applied when no value was present, causing all pixel values to set to black.

Viewer crash on unsafe thread container initialization

The process for initializing large studies with many objects was not thread-safe, causing the viewer to crash when multiple threads attempted to initialize the same container.

Viewer crash when Modality LUT data is not cleared

An uninitialized modality LUT structure in the viewer could cause the viewer to crash if the image object defined a modality LUT.

Viewer Build 4

Standalone (CD) viewer doesn't work

Changes to the caching mechanism broke the DICOM processing mechanism in the standalone viewer, causing the standalone viewer to fail image loading. Note that the standalone viewer uses the thumbnail image until the full image has been fully processed and ready for display.

Mammo CAD isn't shown in HP

The fix for missing CAD markers when restoring a bookmarked viewer session disabled automatic application of CAD markers for stored data. As a result, the viewer failed to recognize the default CAD display setting saved in hanging protocols.

Viewer Build 3

Restoring a bookmarked study can cause crashes

If the viewer received an open request, such as a second restore request, while still processing a bookmark restore request, the viewer could crash when the open request completed because it mismanaged the interrupted process.

Key image not added properly when added to prior studies

When adding a key image to a prior study, as a report addendum, the viewer failed to submit it to the server because the mechanism for sending the key image had not been updated to make the call.

Viewer crash when scanning an image

When the viewer-based scanning panel is opened from the Scan button on the worklist, some modules required the character set containers but they were not loaded, causing the viewer to crash.

Print layouts crash

If the print layout manager panel is invoked before the viewer has established a connection with the server, the viewer would crash.

Incorrect image decompression completion detection

The viewer was not checking the image data type so if it was the initial quality (IQ) image only and the remaining data did not follow (for some reason), the viewer could mislabel the image as full resolution.

The view icon on thumbnail panel isn't updated after the full image decompression

The viewer called a refresh for every decompression event, even for images that were not visible. The large number of events might cause the viewer to miss a refresh, causing the image in the thumbnail panel to remain unchanged. Now, refresh events are called for visible images only.

Incorrect compression overlay value

The compression ratio overlay field misreported its value because the calculation was not using the full uncompressed image size.

Viewer doesn't create new image data in scanner mode

After refactoring the image storing process, some data was not initialized when scanning an image, resulting in a crash.

Annotations not preserved after restoring a bookmarked MG study

When restoring an annotated, bookmarked image to an image frame, the viewer would incorrectly clear saved annotations like it does when temporary annotations exist.

Releasing mechanism of memory manager doesn't lock the data

Because the memory manager unnecessarily accessed the image data without locking it, it could use the image data while the viewer was closing the session. If the viewer released the image first, the viewer might crash.

Streaming issue: more robust error handling

When the streaming packet header is corrupted, data streaming stops and the channel needs to be reset.

Stream issue: performance measurement request cause broken packet

When the viewer requested the performance measurement data from the server, it submitted the request on the data streaming connection. When the server submitted the response on the same connection, the data interfered with the streaming data, resulting in corrupted data. The viewer now requests performance data using the control stream connection.

Viewer crash when key image objects exist without image objects

The viewer failed to handle (empty) herpa data when the study consisted of non-image objects only, resulting in a crash. Now, the viewer displays the study details in the thumbnail header and indicates no image objects exist.

Incorrect priority for full decompression

When prioritizing data for decompression, the viewer could download some non-visible images before fully downloading and decompressing visible images, causing a delay in rendering the visible images.

Viewer Build 2

DEPENDENCY NOTICE: Dependencies exist. See details below.

Herpa streaming

DEPENDENCY NOTICE: This feature requires medsrv-9.0.2.
The herpa download uses streaming through the stream server rather than HTTP from the application server.

Incorporate gwav4 compression

DEPENDENCY NOTICE: This feature requires medsrv-9.0.2.
The streaming technology has added support for gwav version 4, permitting better initial quality from smaller thumbnail images. The viewer still accepts gwav3 and gwav1, if offered by the server.

Viewer Build 1

UDI for v9 viewer

The UDI displayed in the viewer details panel has been set to 0086699400025590.

Baseline viewer code base on v8.0

The baseline code base for version 9.0 viewer is viewer-8.0.85, desktopApp-8.0.31 and plugins-8.0.8 and includes the new (v9) caching mechanism (cache into memory, only), optimized image loading and only hyper+ streaming support.

Remove settings for retired features

All configurable settings and visible indications for and about retired features have been removed, including prefetch settings, cache management settings and HTTP-based streaming settings.

Series matching algorithm performance improvement

The series matching feature used by the hanging protocol manager and for series grouping has been optimized for performance, removing unnecessary calculations as well.

Server provided stream server addresses

The viewer uses the stream server assigned by the server when streaming data during the session. If no stream server is provided, the viewer uses the server that sent the session (PBS) data.