Leadtools.Medical.Workstation Getting Started (PACS)

Summary

For pointers to sample programs that demonstrate many features, see the following table:

.NET
JavaScript

.NET

Redistributables Paths

Assembly - Class/Namespace

Comments

Leadtools.Dicom.Scu.dll - Leadtools.Dicom.Scu

Provides classes and methods that implement DICOM Storage Service and DICOM Query/Retrieve Service.

Leadtools.Dicom.Server.Admin.dll - Leadtools.Dicom.Server.Admin

Provides classes and methods that implement DICOM Server Administration.

Leadtools.Dicom.AddIn.dll - Leadtools.Dicom.AddIn

Provides classes and methods that implement DICOM Add-ins.

Leadtools.AddIn.DicomLog -Implements the INotifyReceiveMessage & INotifySendMessages interfaces. This allows the add-in to log all incoming and outgoing DICOM Messages. The logging is handled by the Microsoft Enterprise Library logging. The add-in creates a Log directory in the DICOM server directory. All log information is written to an "output.log" file. If dataset saving is enabled they are written to Log\Datasets. The file name of the saved dataset is the SOP Instance UID.

Leadtools.AddIn.Store - Implements the IProcessCStore interface. This add-in implements a StorageSCP. The following storage classes are supported:

  • CT Image Storage
  • NM Image Storage
  • DX Image Storage
  • MR Image Storage
  • Hemodynamic Waveform Storage
  • XA Image Storage
  • CR Image Storage
  • US Image Storage
  • SC Image Storage
  • US Multiframe Image Storage
  • Video Endoscopic Image Storage
  • Video Microscopic Image Storage
  • XRay Radiofluoroscopic Image Storage
  • Nuclear Medicine Image Storage (Retired)
  • Ultrasound Image Storage (Retired)
  • Ultrasound Multi-frame Image Storage (Retired)
  • Standalone Overlay Storage (Retired)
  • Standalone Curve Storage (Retired)
  • Basic Study Descriptor (Retired)
  • Standalone Modality LUT Storage (Retired)
  • Standalone VOI LUT Storage (Retired)
  • X-Ray Angiographic Image Storage
  • X-Ray Angiographic Bi-Plane Image Storage (Retired)
  • X-Ray RF Image Storage
  • RT Image Storage
  • RT Dose Storage
  • RT Structure Set Storage
  • RT Plan Storage
  • Positron Emission Tomography Image Storage
  • Standalone Positron Emission Tomography Curve Storage (Retired)
  • Stored Print Storage (Retired)
  • Hardcopy Grayscale Image Storage (Retired)
  • Hardcopy Color Image Storage (Retired)
  • Digital X-Ray Image Storage - For Presentation
  • Digital X-Ray Image Storage - For Processing
  • Digital Mammography X-Ray Image Storage - For Presentation
  • Digital Mammography X-Ray Image Storage - For Processing
  • Digital Intra-Oral X-Ray Image Storage - For Presentation
  • Digital Intra-Oral X-Ray Image Storage - For Processing
  • RT Beams Treatment Record Storage
  • RT Brachy Treatment Record Storage
  • RT Treatment Summary Record Storage
  • VL Endoscopic Image Storage
  • VL Microscopic Image Storage
  • VL Slide-Coordinates Microscopic Image Storage
  • VL Photographic Image Storage
  • Basic Text SR Storage
  • Enhanced SR Storage
  • Comprehensive SR Storage
  • Enhanced MR Image Storage
  • MR Spectroscopy Storage
  • RAW Data Storage
  • Secondary Capture Multi-Frame Single Bit Image Storage
  • Secondary Capture Multi-Frame Grayscale Byte Image Storage
  • Secondary Capture Multi-Frame Grayscale Word Image Storage
  • Secondary Capture Multi-Frame True Color Image Storage
  • Key Object Selection Document Storage
  • Mammography CAD SR Storage
  • Chest CAD SR Storage
  • Ophthalmic Photography 8 Bit Image Storage
  • Ophthalmic Photography 16 Bit Image Storage
  • Stereometric Relationship Storage
  • Video Photographic Image Storage
  • Pseudo-Color Softcopy Presentation State Storage
  • Blending Softcopy Presentation State Storage
  • Procedure Log Storage
  • X-Ray Radiation Dose SR Storage
  • Enhanced CT Image Storage
  • Spatial Registration Storage
  • Deformable Spatial Registration Storage
  • Spatial Fiducials Storage
  • Hanging Protocol Storage
  • Encapsulated PDF Storage
  • Encapsulated CDA Storage
  • Real World Value Mapping Storage
  • Enhanced X-Ray Angiographic Image Storage
  • Enhanced X-Ray RF Image Storage
  • RT Ion Plan Storage
  • RT Ion Beams Treatment Record Storage
  • Segmentation Storage
  • Ophthalmic Tomography Image Storage
  • X-Ray 3D Angiographic Image Storage
  • X-Ray 3D Craniofacial Image Storage
  • Enhanced PET Image Storage
  • Lensometry Measurements Storage
  • Autorefraction Measurements Storage
  • Keratometry Measurements Storage
  • Subjective Refraction Measurements Storage
  • Visual Acuity Measurements Storage
  • Spectacle Prescription Report Storage

The following transfer syntaxes are supported:

  • Implicit VR Little Endian
  • JPEG 2000
  • JPEG Lossless Only
  • JPEG Baseline 1
  • Explicit VR Big Endian
  • Explicit VR Little Endian
  • JPEG Lossless No Hierarchal 14
  • JPEG Lossless No Hierarchal 14B

When the add-in loads it creates a new SQLCE 3.5 database (Dicom.sdf) in the server directory. In addition, it creates an Images directory in the server directory that will contain all the DICOM datasets received at the server.

Leadtools.AddIn.Find - Implements the IProcessCFind interfaces. This add-in implements a DICOM Query service. This add-in supports the following service classes:

  • Patient Root Query Find
  • Study Root Query Find

This add-in makes use of the same database that is created by the Store add-in. If the database does not exist when this add-in is called it will be created. Therefore, it does not matter if you attempt a find before doing a store.

Leadtools.AddIn.Move - Implements the IProcessCMove interface. This add-in implements a DICOM Retrieve service. This add-in supports the following service classes:

  • Patient Root Query Move
  • Study Root Query Move

This add-in makes use of the same database that is created by the Store add-in. If the database does not exist when this add-in is called it will be created.

Leadtools.AddIn.MWLFind - Implements the IProcessCFind interface. This add-in supports the following service classes:

  • Modality Worklist Find

This add-in creates a SQLCE 3.5 Database(MWLSCP.sdf) in the server directory. In addition, this add-in creates an Option Dialog that allows you to edit the database from the Server Manager.

Leadtools.AddIn.StorageCommit - Implements the IProcessNAction interface. This add-in supports the following service classes:

  • Storage Commitment Push Model Class

This add-in makes use of the SQLCE 3.5 Database created by the storage add-in. It expects the database to be already created. If the database is not available the Commitment request will generate a ResourceLimitation error.

If the database is present the commitment request is processed in another thread and a response is immediately sent back to the client. Once the commit request is finalized a notification is sent on behalf of the add-in to the originating client.

Leadtools.Medical.Workstation.dll - Leadtools.Medical.Workstation

Provides classes, methods, properties, enumerations and events to implement all of the user interface controls (the Viewer control, the Search control, the Configuration control, etc).
Leadtools.Medical.Workstation.AddIns.dll - Leadtools.Medical.Workstation.AddIns

Provides classes, methods, properties, events, and fields for the add-ins for the High-Level PACS server portion of the Medical Workstation Viewer. All DICOM requests are delegated to the add-ins. The workstation add-ins include:

  • C-Find AddIn
  • C-Move AddIn
  • C-Store AddIn
  • Storage Commit AddIn
  • Logging AddIn
Leadtools.Medical.Workstation.Client.dll - Leadtools.Medical.Workstation.Client Provides classes, methods, properties, enumerations, events and delegates that can use the add-ins to query the local database, retrieve images from the local database, and store images to the local database.

Leadtools.Medical.Workstation.DataAccessLayer.dll - Leadtools.Medical.Workstation.DataAccessLayer

Provides classes, methods, properties, enumerations and events to create a layer of abstraction between the database provider and the Medical Workstation demo. This layer is easily customized to allow the Medical Workstation application to use any database or database provider, with minimal code changes.
Leadtools.Medical.Workstation.Loader.dll - Leadtools.Medical.Workstation.Loader

Provides classes, methods, properties, enumerations and events to implement all of the user interface controls (the Viewer control, Queue Manager, etc).

Dependencies

Library Description Dependencies
NuGet PackageDescription
Leadtools.Medical.Workstation

Sample Programs

Name Path Description
Customizing Worklist DAL Demo \Examples\Medical\DotNet\CustomizingWorklistDAL

Demonstrates how to customize the Modality Worklist Database used by the DICOM MWL demos.

  • Displays the database tables.
  • Adds columns to the database to map corresponding DICOM tags.
  • Simulates Modality Worklist C-FIND.
DataAccessLayers \Examples\Medical\DotNet\DataAccessLayers
DataAccessLayers.Core \Examples\Medical\DotNet\DataAccessLayers.Core
Dicom.Server.Manager \Examples\Medical\DotNet\Dicom.Server.Manager
DICOM High Level Client Demo \Examples\Medical\DotNet\DicomHighlevelClientDemo

Demonstrates implementation of a DICOM client.

  • Connect to a query an existing DICOM server (PACS)
  • Implements DICOM C-STORE SCU
  • Implements DICOM C-MOVE SCU
  • Implements DICOM C-FIND SCU
  • Implements DICOM C-ECHO SCU
  • Demonstrates connect, associate, query, and retrieve
DICOM High Level MWL SCU Demo \Examples\Medical\DotNet\DicomHighLevelMWLScuDemo

Demonstrates creating a DICOM Modality Worklist SCU example that will query a MWL SCP for a worklist and copy data from the MWL response attributed to the requested IOD class.

DICOM High Level Patient Updater Demo \Examples\Medical\DotNet\DicomHighlevelPatientUpdaterDemo

Demonstrates updating existing patient information in the Storage Server database using custom DICOM N-ACTION commands.

DICOM High Level Storage SCU Demo \Examples\Medical\DotNet\DicomHighlevelStoreDemo

Demonstrates implementation of a DICOM storage client (SCU).

  • Implements DICOM C-STORE SCU
  • Stores DICOM files to a PACS (DICOM Storage Server)
Medical.Ae.Configuration \Examples\Medical\DotNet\Medical.Ae.Configuration
Medical.AeManagement.DataAccessLayer \Examples\Medical\DotNet\Medical.AeManagement.DataAccessLayer
Medical.AutoCopy.AddIn \Examples\Medical\DotNet\Medical.AutoCopy.AddIn
Medical.ExportLayout.AddIn \Examples\Medical\DotNet\Medical.ExportLayout.AddIn
Medical.ExportLayout.DataAccessLayer \Examples\Medical\DotNet\Medical.ExportLayout.DataAccessLayer
Medical.ExternalStore.Addin \Examples\Medical\DotNet\Medical.ExternalStore.Addin
Medical.ExternalStore.AmazonS3.Addin \Examples\Medical\DotNet\Medical.ExternalStore.AmazonS3.Addin
Medical.ExternalStore.Atmos.Addin \Examples\Medical\DotNet\Medical.ExternalStore.Atmos.Addin
Medical.ExternalStore.Azure.Addin \Examples\Medical\DotNet\Medical.ExternalStore.Azure.Addin
Medical.Forward.AddIn \Examples\Medical\DotNet\Medical.Forward.AddIn
Medical.Forward.DataAccessLayer \Examples\Medical\DotNet\Medical.Forward.DataAccessLayer
Medical.Gateway.AddIn \Examples\Medical\DotNet\Medical.Gateway.AddIn
Medical.HL7.DataAccessLayer \Examples\Medical\DotNet\Medical.HL7.DataAccessLayer
Medical.HL7MWL.AddIn \Examples\Medical\DotNet\Medical.HL7MWL.AddIn
Medical.HL7PatientUpdate.AddIn \Examples\Medical\DotNet\Medical.HL7PatientUpdate.AddIn
Medical.License.Configuration \Examples\Medical\DotNet\Medical.License.Configuration
Medical.Logging.AddIn \Examples\Medical\DotNet\Medical.Logging.AddIn
Medical.Media.AddIns \Examples\Medical\DotNet\Medical.Media.AddIns
Medical.Options.DataAccessLayer \Examples\Medical\DotNet\Medical.Options.DataAccessLayer
Medical.PatientRestrict.AddIn \Examples\Medical\DotNet\Medical.PatientRestrict.AddIn
Medical.PatientUpdater.AddIn \Examples\Medical\DotNet\Medical.PatientUpdater.AddIn
Medical.PermissionsManagement.DataAccessLayer \Examples\Medical\DotNet\Medical.PermissionsManagement.DataAccessLayer
Medical.Rules.AddIn \Examples\Medical\DotNet\Medical.Rules.AddIn
Medical.SearchOtherPatientIds.Addin \Examples\Medical\DotNet\Medical.SearchOtherPatientIds.Addin
Medical.Security.AddIn \Examples\Medical\DotNet\Medical.Security.AddIn
Medical.Storage.AddIns \Examples\Medical\DotNet\Medical.Storage.AddIns
Medical.UserManagementDataAccessLayer \Examples\Medical\DotNet\Medical.UserManagementDataAccessLayer
Medical.WinForms \Examples\Medical\DotNet\Medical.WinForms
Medical.Worklist.AddIns \Examples\Medical\DotNet\Medical.Worklist.AddIns
MedicalMainMenu \Examples\Medical\DotNet\MedicalMainMenu
Medical Workstation Customization Demo \Examples\Medical\DotNet\MedicalWorkstationCustomizationDemo

Demonstrates how to customize the Medical Workstation.

  • Shows how to customize the Workstation Toolbar/Context Menu.
  • Shows how to implement a simple feature and register it with the Workstation Framework.
  • Shows how to translate all the Workstation text into another language.
  • Shows how to replace a View (dialog/control) used by the Workstation.
Medical Workstation DICOM Directory Demo \Examples\Medical\DotNet\MedicalWorkstationDicomDirDemo

Demonstrates how to view a DICOM directory with the Medical Workstation.

Medical Workstation Main Demo \Examples\Medical\DotNet\MedicalWorkstationMainDemo

Demonstrates building a fully featured PACS Workstation application using the LEADTOOLS Medical Workstation Framework.

  • 2D and 3D Workstation Viewer
  • Real-world tools used by radiologists and other health care professionals
  • Modular design features fully customizable components to build an entire PACS or replace individual pieces of an existing system
  • Easy customization, localization, and branding
Modality Worklist WCF Demo \Examples\Medical\DotNet\ModalityWorklistWCFDemo

Demonstrates working with a Modality Worklist server.

Modality Performed Procedure Step WCF Demo \Examples\Medical\DotNet\MPPSWCFDemo

Demonstrates editing a MPPS instance on a Modality Worklist server.

PACS Configuration Demo \Examples\Medical\DotNet\PACSConfigDemo

The LEADTOOLS PACS Configuration Demo is used to configure the PACS Framework demos.

PACS Database Configuration Demo \Examples\Medical\DotNet\PACSDatabaseConfigurationDemo

The LEADTOOLS PACS Database Configuration Demo is used to configure the PACS Framework databases.

Print to PACS Demo \Examples\Medical\DotNet\PrintToPACSDemo

Demonstrates combining capture options such as Virtual Printer Driver, Screen Capture, TWAIN or WIA with the PACS Framework.

  • Shows how to capture an image via virtual printer, screen capture, or scanning and save as DICOM.
  • Shows how to gather DICOM metadata and add to the DICOM dataset.
  • Shows how to store the DICOM dataset to a PACS using DICOM C-STORE messages.
AddIn.Find \Examples\Medical\DotNet\SampleAddIns\AddIn.Find
AddIn.Move \Examples\Medical\DotNet\SampleAddIns\AddIn.Move
AddIn.Sample.Events \Examples\Medical\DotNet\SampleAddIns\AddIn.Sample.Events
AddIn.Security \Examples\Medical\DotNet\SampleAddIns\AddIn.Security
AddIn.StorageCommit \Examples\Medical\DotNet\SampleAddIns\AddIn.StorageCommit
AddIn.Store \Examples\Medical\DotNet\SampleAddIns\AddIn.Store
Configuration.Logging \Examples\Medical\DotNet\SampleAddIns\Configuration.Logging
Medical.ExternalStore.Sample.Addin \Examples\Medical\DotNet\SampleAddIns\Medical.ExternalStore.Sample.Addin
Storage Server Manager \Examples\Medical\DotNet\StorageServerManager

This is a Fully Functional OEM-ready DICOM Storage server application with source code that includes the following features:

  • Storage Add-in that supports query/retrieve and Store with extensive options..
  • Logging Add-in that supports many filtering options including Automatic export of logs.
  • Patient Updater Add-in that includes a patient/study management client that allows users to move, merge, and update patient information using DICOM communications.
  • Auto-Copy Add-in that automatically routes retrieved DICOM image data to multiple storage locations.
  • Gateway Add-in that acts as a query/retrieve proxy, automatically relaying a single query/retrieve message to any number of specified external DICOM servers.
  • Forwarding Add-in that allows DICOM image data to be automatically forwarded to another PACS server immediately upon storage, or on any schedule.
  • Administrative options including setting permissions for both users and AE titles.
  • Full Source code provided for customization or branding with your own company logo.
SupportFiles \Examples\Medical\DotNet\Tutorials\SupportFiles
My.Medical.Storage.Configuration \Examples\Medical\DotNet\Tutorials\My.Medical.Storage.Configuration
My.Medical.Storage.DataAccessLayer \Examples\Medical\DotNet\Tutorials\My.Medical.Storage.DataAccessLayer

JavaScript

Sample Programs

Name Path Description
WADODemo \Examples\Medical\JS\WADODemo\Medical.WADO
\Examples\Medical\JS\WADODemo\Medical.WADO\WadoClient
\Examples\Medical\JS\WADODemo\Medical.WADO\WadoService

See Also

Getting Started

Assembly Overview

Introduction - All Topics

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Medical.Workstation Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.