Example #1
0
        /// <summary>
        /// Apply the Dicom Configuration to the Client,
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="config">Dicom Configuration.</param>
        public override void ApplyConfig(CommonConfig commonConfig, DicomPeerToPeerConfig config)
        {
            // set up the worklist SCP
            WorklistScp worklistScp = new WorklistScp();

            // update supported transfer syntaxes here
            //worklistScp.ClearTransferSyntaxes();
            //worklistScp.AddTransferSyntax(HliScp.IMPLICIT_VR_LITTLE_ENDIAN);

            // Save the SCP and apply the configuration
            Scp = worklistScp;
            base.ApplyConfig(commonConfig, config);

            // set up the Modality Worklist information models
            _modalityWorklistInformationModel = new ModalityWorklistInformationModel();

            // load the information models
            _modalityWorklistInformationModel.LoadInformationModel(RootedBaseDirectory.GetFullPathname(commonConfig.RootedBaseDirectory, config.SourceDataDirectory));

            // add any default attribute values to the information models
            bool overWriteExistingValue = true;
            _modalityWorklistInformationModel.AddDefaultAttributeToInformationModel(overWriteExistingValue, "0x00400001", VR.AE, config.FromActorAeTitle);
            _modalityWorklistInformationModel.AddDefaultAttributeToInformationModel(overWriteExistingValue, "0x00400002", VR.DA, System.DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture));
            _modalityWorklistInformationModel.AddDefaultAttributeToInformationModel(overWriteExistingValue, "0x00400003", VR.TM, System.DateTime.Now.ToString("HHmmss", System.Globalization.CultureInfo.InvariantCulture));

            // add any additional attribute values to the information models
            //modalityWorklistInformationModel.AddAdditionalAttributeToInformationModel(overWriteExistingValue, "0x00080054", VR.AE, config.DvtAeTitle);

            // add the default message handlers with the information model
            worklistScp.AddDefaultMessageHandlers(_modalityWorklistInformationModel);
        }
Example #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="scuAeTitle"></param>
        /// <param name="randomizeFirst"></param>
        /// <returns></returns>
        public static ModalityWorklistInformationModel CreateMWLInformationModel(bool randomizeFirst, DicomThread dicomThread)
        {
            dicomThread.WriteInformation(string.Format("Creating the MWL information model based on data directory : {0}", dataDirectory));
            ModalityWorklistInformationModel modalityWorklistInformationModel = new ModalityWorklistInformationModel();

            //Specify directory for temp DCM files
            modalityWorklistInformationModel.DataDirectory = dataDirectoryForTempFiles;

            DirectoryInfo directoryInfo = new DirectoryInfo(dataDirectory);

            FileInfo[] fileInfos = directoryInfo.GetFiles();

            if (fileInfos.Length != 0)
            {
                foreach (FileInfo fileInfo in fileInfos)
                {
                    try
                    {
                        DataSet dataSet = new DataSet();

                        dataSet.Read(fileInfo.FullName);

                        if (randomizeFirst)
                        {
                            dataSet.Randomize("@");
                        }

                        modalityWorklistInformationModel.AddToInformationModel(dataSet);
                    }
                    catch (Exception )
                    {
                        string theErrorText = string.Format("Invalid DICOM File - {0} will be skiped from MWL information model.\n\n", fileInfo.FullName);
                        dicomThread.WriteInformation(theErrorText);
                    }
                }
            }

            if (isCurrentSPSD)
            {

                //modalityWorklistInformationModel.AddDefaultAttributeToInformationModel(true, "0x00400001", DvtkData.Dimse.VR.AE, scuAeTitle);
                modalityWorklistInformationModel.AddDefaultAttributeToInformationModel(true, "0x00400100[1]/0x00400002", DvtkData.Dimse.VR.DA, System.DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture));
                modalityWorklistInformationModel.AddDefaultAttributeToInformationModel(true, "0x00400100[1]/0x00400003", DvtkData.Dimse.VR.TM, System.DateTime.Now.ToString("HHmmss", System.Globalization.CultureInfo.InvariantCulture));
            }

            return (modalityWorklistInformationModel);
        }