Ejemplo n.º 1
0
        public static RetrieveClient CreateRetrieveClient(DicomClientMode clientMode)
        {
            try
            {
                switch (clientMode)
                {
                case DicomClientMode.LocalDb:
                {
                    return(CreateLocalRetrieveClient( ));
                }


                case DicomClientMode.Pacs:
                {
                    Leadtools.Dicom.Scu.DicomScp scp;


                    if (ConfigurationData.ActivePacs == null)
                    {
                        throw new InvalidOperationException("No active PACS Server defined");
                    }

                    scp = new Leadtools.Dicom.Scu.DicomScp( );

                    scp.AETitle     = ConfigurationData.ActivePacs.AETitle;
                    scp.PeerAddress = Utils.ResolveIPAddress(ConfigurationData.ActivePacs.Address);
                    scp.Port        = ConfigurationData.ActivePacs.Port;
                    scp.Timeout     = ConfigurationData.ActivePacs.Timeout;


                    return(CreatePacsRetrieveClient(scp));
                }

                case DicomClientMode.DicomDir:
                {
                    DicomDirRetrieveClient client;


                    client = new DicomDirRetrieveClient(ConfigurationData.WorkstationClient.ToAeInfo( ),
                                                        ConfigurationData.CurrentDicomDir);

                    return(client);
                }

                default:
                {
                    throw new NotImplementedException("Dicom Client not implemented.");
                }
                }
            }
            catch (Exception exception)
            {
                System.Diagnostics.Debug.Assert(false, exception.Message);

                throw;
            }
        }
Ejemplo n.º 2
0
        void viewer_SeriesDropLoaderRequested(object sender, SeriesDropLoaderRequestedEventArgs e)
        {
            if (__ViewerContainer.ArgumentsService.Exists <LoadSeriesFromDicomDirCommandArgument> ( ))
            {
                string dicomDir;
                DicomDirRetrieveClient client;

                dicomDir = __ViewerContainer.ArgumentsService.PopArgument <LoadSeriesFromDicomDirCommandArgument> ( ).DicomDirFile;

                client = new DicomDirRetrieveClient(null,
                                                    dicomDir);

                e.SeriesLoader = new MedicalViewerLoader(client);
            }
        }