在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → DICOMcloud:适用于Azure的DICOMweb .NET服务器实现与源码下载

DICOMcloud:适用于Azure的DICOMweb .NET服务器实现与源码下载

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:4.41M
  • 下载次数:1
  • 浏览次数:99
  • 发布时间:2024-02-26
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
DICOMcloud是一个独立的DICOMweb服务器,通过RESTful方式实现了DICOMweb/WADO服务,包括查询(QIDO-RS)、检索(WADO-RS)、存储(STOW-RS)和Web访问DICOM对象(WADO-URI)等功能。此外,服务器还实现了一些非DICOM标准的RESTful服务,如删除DICOM实例/图像(DELOW-RS)和与OHIF查看器的集成服务(返回OHIF格式化的研究信息)。

DICOMcloud服务器能够与任何DICOMweb客户端通过当前实现的功能(qido-rs、wado-uri、wado-rs和stow-rs)进行交互。该项目使用C# .NET Framework 4.5.2编写,可在Visual Studio 2017中构建,并可在Windows机器或Azure WebApp上运行。项目利用MS SQL数据库查询DICOM信息,并将DICOM数据集保存到文件系统或Azure Blob存储中。

要运行代码,您需要Visual Studio 2017/2015。打开根目录上的解决方案文件DICOMcloud.sln,如果"DICOMcloud.Wado.WebApi"项目未被选为启动项目,右键点击选择"设置为启动项目",然后按F5运行解决方案。项目运行后,DICOMweb服务器将在https://localhost:44301/上运行,可以通过更改web.config中的设置来调整存储连接和数据存档。

DICOMcloud项目利用开源的fo-dicom DICOM库进行DICOM数据集的操作,如读写元素、压缩/解压DICOM图像、匿名化功能等。
【实例截图】
【核心代码】
文件清单
└── DICOMcloud-0eb7773ba36a9a21dc079ac5c14005b257a3167b
    ├── CHANGELOG.MD
    ├── DICOMcloud
    │   ├── DICOMcloud
    │   │   ├── DCloudNotFoundException.cs
    │   │   ├── DICOMcloudException.cs
    │   │   ├── DatasetExtensions.cs
    │   │   ├── DicomConstants.cs
    │   │   ├── DicomConverterBase.cs
    │   │   ├── DicomObjectId
    │   │   │   ├── DicomObjectIdFactory.cs
    │   │   │   ├── IObject.cs
    │   │   │   ├── ISeriesID.cs
    │   │   │   ├── IStudyID.cs
    │   │   │   └── ObjectID.cs
    │   │   ├── DuplicateInstanceException.cs
    │   │   ├── IDicomConverter.cs
    │   │   ├── JsonDicomConverter.cs
    │   │   ├── TraceLogger.cs
    │   │   ├── UncompressedPixelData.cs
    │   │   ├── UncompressedPixelDataConverter.cs
    │   │   ├── XmlDicomConverter.cs
    │   │   └── XmlStreamDicomConverter.cs
    │   ├── DICOMcloud.csproj
    │   ├── DataAccess
    │   │   ├── DicomDataParameter
    │   │   │   ├── DicomDataParameter.cs
    │   │   │   ├── DicomDataParameterFactory.cs
    │   │   │   ├── IDicomDataParameter.cs
    │   │   │   ├── IDicomDataParameterFactory.cs
    │   │   │   ├── PersonNameData.cs
    │   │   │   └── PersonNameParts.cs
    │   │   ├── IObjectStorageDataAccess.cs
    │   │   ├── Matching
    │   │   │   ├── Condition.cs
    │   │   │   ├── ConditionFactory.cs
    │   │   │   ├── IMatchingCondition.cs
    │   │   │   └── IQueryInfo.cs
    │   │   ├── ObjectQueryLevel.cs
    │   │   ├── PagedResult.cs
    │   │   ├── QueryOptions.cs
    │   │   └── StoreData.cs
    │   ├── Extensions
    │   │   └── CommonExtensions.cs
    │   ├── IO
    │   │   ├── File
    │   │   │   ├── FileKeyProvider.cs
    │   │   │   ├── FileStorageService.cs
    │   │   │   ├── HashedFileKeyProvider.cs
    │   │   │   ├── LocalStorageContainer.cs
    │   │   │   └── LocalStorageLocation.cs
    │   │   ├── IKeyProvider.cs
    │   │   ├── ILocationProvider.cs
    │   │   ├── IMediaKey.cs
    │   │   ├── IPreSignedUrlStorageLocation.cs
    │   │   ├── IStorageContainer.cs
    │   │   ├── IStorageLocation.cs
    │   │   ├── IStorageService.cs
    │   │   ├── Memory
    │   │   │   ├── MemoryStorageLocation.cs
    │   │   │   └── MemoryStorageService.cs
    │   │   ├── ObservableStorageLocation
    │   │   │   ├── LocationDeletedMessage.cs
    │   │   │   ├── LocationDownloadedMessage.cs
    │   │   │   ├── LocationMessage.cs
    │   │   │   ├── LocationUplodedMessage.cs
    │   │   │   └── ObservableStorageLocation.cs
    │   │   └── StorageService.cs
    │   ├── Media
    │   │   ├── DicomMediaId.cs
    │   │   ├── DicomMediaProperties.cs
    │   │   ├── Factories
    │   │   │   ├── DicomMediaIdFactory.cs
    │   │   │   ├── DicomMediaReaderFactory.cs
    │   │   │   ├── DicomMediaWriterFactory.cs
    │   │   │   ├── IDicomMediaIdFactory.cs
    │   │   │   ├── IDicomMediaReaderFactory.cs
    │   │   │   └── IDicomMediaWriterFactory.cs
    │   │   ├── MimeMediaTypes.cs
    │   │   ├── Readers
    │   │   │   └── IDicomMediaReader.cs
    │   │   └── Writers
    │   │       ├── DicomMediaWriter.cs
    │   │       ├── DicomMediaWriterBase.cs
    │   │       ├── DicomMediaWriterParameters.cs
    │   │       ├── IDicomMediaWriter.cs
    │   │       ├── IMediaWriter.cs
    │   │       ├── JpegMediaWriter.cs
    │   │       ├── JsonMediaWriter.cs
    │   │       ├── NativeMediaWriter.cs
    │   │       ├── UncompressedMediaWriter.cs
    │   │       └── XmlMediaWriter.cs
    │   ├── Messaging
    │   │   ├── IMessageSender.cs
    │   │   ├── IPublisherSubscriber.cs
    │   │   ├── ITransportMessage.cs
    │   │   ├── PublisherSubscriber.cs
    │   │   ├── PublisherSubscriberFactory.cs
    │   │   └── TransportMessage.cs
    │   ├── Pacs
    │   │   ├── Commands
    │   │   │   ├── DCloudCommand.cs
    │   │   │   ├── DCloudCommandFactory.cs
    │   │   │   ├── DeleteCommand.cs
    │   │   │   ├── DeleteCommandData.cs
    │   │   │   ├── DicomStoreSuccessEventArgs.cs
    │   │   │   ├── IDCloudCommand.cs
    │   │   │   ├── IDCloudCommandFactory.cs
    │   │   │   ├── IDCloudCommandResult.cs
    │   │   │   ├── IDeleteCommand.cs
    │   │   │   ├── IStoreCommand.cs
    │   │   │   ├── StoreCommand.cs
    │   │   │   └── StoreCommandData.cs
    │   │   ├── Query
    │   │   │   ├── DicomQueryServiceBase.cs
    │   │   │   ├── IDicomQueryService.cs
    │   │   │   ├── IObjectArchieveQueryService.cs
    │   │   │   └── ObjectArchieveQueryService.cs
    │   │   ├── Retrieve
    │   │   │   ├── IObjectRetrieveService.cs
    │   │   │   ├── ObjectRetrieveResult.cs
    │   │   │   └── ObjectRetrieveService.cs
    │   │   └── Storage
    │   │       ├── IObjectStoreService.cs
    │   │       └── ObjectStoreService.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── app.config
    │   └── packages.config
    ├── DICOMcloud.Azure
    │   ├── DICOMcloud.Azure.csproj
    │   ├── Messaging
    │   │   └── AzureMessageSender.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── Storage
    │   │   ├── AzureContainer.cs
    │   │   ├── AzureKeyProvider.cs
    │   │   ├── AzureLocation.cs
    │   │   └── AzureStorageService .cs
    │   ├── app.config
    │   └── packages.config
    ├── DICOMcloud.DataAccess.Database
    │   ├── Commands
    │   │   ├── DicomDsQueryCommand.cs
    │   │   ├── ExecuteNonQueryCommand.cs
    │   │   ├── IDataAdapterCommand.cs
    │   │   ├── ResultSetQueryCommand.cs
    │   │   ├── ScalarCommand.cs
    │   │   └── SingleResultQueryCommand.cs
    │   ├── DICOMcloud.DataAccess.Database.csproj
    │   ├── DatabaseSchema.xml
    │   ├── IConnectionStringProvider.cs
    │   ├── IDatabaseFactory.cs
    │   ├── ISortingStrategy.cs
    │   ├── ISortingStrategyFactory.cs
    │   ├── ObjectArchieveDataAccess.cs
    │   ├── ObjectArchieveDataAdapter.cs
    │   ├── ObjectArchieveSortingStrategy.cs
    │   ├── ObjectArchieveStorageBuilder.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── QueryBuilder
    │   │   ├── JoinInfo.cs
    │   │   ├── MatchBuilder.cs
    │   │   ├── QueryBuilder.cs
    │   │   ├── SqlJoinBuilder.cs
    │   │   └── SqlQueries.cs
    │   ├── QueryResponseBuilder
    │   │   ├── ContextData.cs
    │   │   ├── ContextDataSets.cs
    │   │   ├── IQueryResponseBuilder.cs
    │   │   └── QueryResponseBuilder.cs
    │   ├── Schema
    │   │   ├── ColumnInfo.cs
    │   │   ├── DBSchemaProvider.cs
    │   │   ├── DbSchemaSource.cs
    │   │   ├── StorageDBSchemaProvider.cs
    │   │   └── TableKey.cs
    │   ├── SortingStrategyFactory.cs
    │   ├── SqlConstants.cs
    │   ├── SqlDatabaseFactory.cs
    │   ├── SqlDeleteStatments.DeleteInstance.cs
    │   ├── SqlDeleteStatments.DeleteSeries.cs
    │   ├── SqlDeleteStatments.DeleteStudy.cs
    │   ├── SqlDeleteStatments.cs
    │   ├── SqlInsertStatments.cs
    │   ├── app.config
    │   └── packages.config
    ├── DICOMcloud.SqlServerDatabase
    │   ├── DICOMcloud.SqlServerDatabase.refactorlog
    │   ├── DICOMcloud.SqlServerDatabase.sqlproj
    │   └── dbo
    │       ├── Scripts
    │       │   └── Script.PostDeployment1.sql
    │       └── Tables
    │           ├── DICOMcloudDbVersion.sql
    │           ├── ObjectInstance.sql
    │           ├── Patient.sql
    │           ├── RequestAttributeSequence.sql
    │           ├── Series.sql
    │           └── Study.sql
    ├── DICOMcloud.Wado
    │   ├── DICOMcloud.Wado.csproj
    │   ├── MimeHandler
    │   │   ├── IMimeResponseHandler.cs
    │   │   ├── IWadoRsMimeResponseCreator.cs
    │   │   ├── ImageObjectHandler.cs
    │   │   ├── ObjectHandlerBase.cs
    │   │   ├── OtherObjectsHandler.cs
    │   │   ├── TextObjectHandler.cs
    │   │   └── WadoResponseProcessorFactory.cs
    │   ├── ModelBinders
    │   │   ├── DeleteRsRequestModelConverter.cs
    │   │   ├── QidoRequestModelBinder.cs
    │   │   ├── QidoRequestModelConverter.cs
    │   │   ├── RsDeleteRequestModelBinder.cs
    │   │   ├── RsFrameRequestModelBinder.cs
    │   │   ├── RsObjectRequestModelBinder.cs
    │   │   ├── RsRequestModelBinder.cs
    │   │   ├── RsRequestModelConverter.cs
    │   │   ├── RsSeriesRequestModelBinder.cs
    │   │   ├── RsStudiesRequestModelBinder.cs
    │   │   ├── UriRequestModelBinder.cs
    │   │   └── UriRequestModelConverter.cs
    │   ├── Models
    │   │   ├── DicomWebServerSettings.cs
    │   │   ├── IQidoQuery.cs
    │   │   ├── IQidoRequestModel.cs
    │   │   ├── IWadoRSRequest.cs
    │   │   ├── IWadoRequest.cs
    │   │   ├── IWadoRequestHeader.cs
    │   │   ├── IWadoResponse.cs
    │   │   ├── OHIFViewerModel.cs
    │   │   ├── QidoQuery.cs
    │   │   ├── QidoRequestModel.cs
    │   │   ├── WadoRSRequest.cs
    │   │   ├── WadoRequest.cs
    │   │   ├── WadoResponse.cs
    │   │   ├── WebDeleteRequest.cs
    │   │   └── WebStoreRequest.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── Services
    │   │   ├── IOhifService.cs
    │   │   ├── IQidoRsService.cs
    │   │   ├── IWadoRsSerivce.cs
    │   │   ├── IWadoUriService.cs
    │   │   ├── IWebObjectStoreService.cs
    │   │   ├── LinkHeaderBuilder.cs
    │   │   ├── MultipartResponseHelper.cs
    │   │   ├── OhifService.cs
    │   │   ├── QidoRsService.cs
    │   │   ├── WadoRsSerivce.cs
    │   │   ├── WadoUriService.cs
    │   │   └── WebObjectStoreService.cs
    │   ├── Types
    │   │   ├── DefaultDicomQueryElements.cs
    │   │   ├── DefaultMediaTransferSyntax.cs
    │   │   ├── WebStoreDatasetMessage.cs
    │   │   ├── WebStoreDatasetProcessedMessage.cs
    │   │   ├── WebStoreDatasetProcessingFailureMessage.cs
    │   │   └── WebStoreDatasetProcessingMessage.cs
    │   ├── WadoResponse
    │   │   ├── IRetrieveUrlProvider.cs
    │   │   ├── RetrieveUrlProvider.cs
    │   │   └── WadoStoreResponse.cs
    │   ├── app.config
    │   └── packages.config
    ├── DICOMcloud.Wado.WebApi
    │   ├── App_Start
    │   │   ├── BundleConfig.cs
    │   │   ├── ConnectionStringProvider.cs
    │   │   ├── DICOMcloudBuilder.cs
    │   │   ├── FilterConfig.cs
    │   │   ├── RouteConfig.cs
    │   │   └── WebApiConfig.cs
    │   ├── ApplicationInsights.config
    │   ├── Content
    │   │   └── Site.css
    │   ├── Controllers
    │   │   ├── FramesController.cs
    │   │   ├── HomeController.cs
    │   │   ├── InstanceController.cs
    │   │   ├── MetadataController.cs
    │   │   ├── OHIFViewerController.cs
    │   │   ├── SeriesController.cs
    │   │   ├── StudiesController.cs
    │   │   ├── SwaggerController.cs
    │   │   └── WadoUriController.cs
    │   ├── DICOMcloud.Wado.WebApi.csproj
    │   ├── Exceptions
    │   │   ├── DICOMcloudExceptionHandler.cs
    │   │   └── DICOMcloudExceptionLogger.cs
    │   ├── Global.asax
    │   ├── Global.asax.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── Service References
    │   │   ├── Application Insights
    │   │   │   └── ConnectedService.json
    │   │   └── AzureAD
    │   │       └── ConnectedService.json
    │   ├── Types
    │   │   └── CorsPolicyFactory.cs
    │   ├── Views
    │   │   └── Web.config
    │   ├── Web.Debug.config
    │   ├── Web.Release.config
    │   ├── Web.config
    │   ├── favicon.ico
    │   ├── logo.png
    │   ├── packages.config
    │   └── swagger
    │       ├── css
    │       │   ├── print.css
    │       │   ├── reset.css
    │       │   ├── screen.css
    │       │   ├── style.css
    │       │   └── typography.css
    │       ├── fonts
    │       │   ├── DroidSans-Bold.ttf
    │       │   └── DroidSans.ttf
    │       ├── images
    │       │   ├── collapse.gif
    │       │   ├── expand.gif
    │       │   ├── explorer_icons.png
    │       │   ├── favicon-16x16.png
    │       │   ├── favicon-32x32.png
    │       │   ├── favicon.ico
    │       │   ├── logo_small.png
    │       │   ├── pet_store_api.png
    │       │   ├── throbber.gif
    │       │   └── wordnik_api.png
    │       ├── index.html
    │       ├── lang
    │       │   ├── ca.js
    │       │   ├── el.js
    │       │   ├── en.js
    │       │   ├── es.js
    │       │   ├── fr.js
    │       │   ├── geo.js
    │       │   ├── it.js
    │       │   ├── ja.js
    │       │   ├── ko-kr.js
    │       │   ├── pl.js
    │       │   ├── pt.js
    │       │   ├── ru.js
    │       │   ├── tr.js
    │       │   ├── translator.js
    │       │   └── zh-cn.js
    │       ├── lib
    │       │   ├── backbone-min.js
    │       │   ├── es5-shim.js
    │       │   ├── handlebars-4.0.5.js
    │       │   ├── highlight.9.1.0.pack.js
    │       │   ├── highlight.9.1.0.pack_extended.js
    │       │   ├── jquery-1.8.0.min.js
    │       │   ├── jquery.ba-bbq.min.js
    │       │   ├── jquery.slideto.min.js
    │       │   ├── jquery.wiggle.min.js
    │       │   ├── js-yaml.min.js
    │       │   ├── jsoneditor.min.js
    │       │   ├── lodash.min.js
    │       │   ├── marked.js
    │       │   ├── object-assign-pollyfill.js
    │       │   ├── sanitize-html.min.js
    │       │   └── swagger-oauth.js
    │       ├── o2c.html
    │       ├── swagger-restful.json
    │       ├── swagger-ui.js
    │       ├── swagger-ui.min.js
    │       ├── swagger.json
    │       └── swagger.yaml
    ├── DICOMcloud.sln
    ├── LICENSE
    ├── License.txt
    ├── README.md
    ├── Resources
    │   ├── Build
    │   │   ├── DICOMcloud.Wado.WebApi
    │   │   │   ├── DICOMcloud.Wado.WebApi.csproj
    │   │   │   ├── DICOMcloud.Wado.WebApi.nuspec
    │   │   │   ├── DICOMcloud.Wado.WebApi.sln
    │   │   │   ├── Properties
    │   │   │   │   └── AssemblyInfo.cs
    │   │   │   ├── Readme.txt
    │   │   │   ├── app.config
    │   │   │   ├── packages.config
    │   │   │   └── web.config.install.xdt
    │   │   ├── DICOMcloud.bat
    │   │   ├── Default.nuspec
    │   │   ├── NuGet.exe
    │   │   └── copyAssembly.bat
    │   ├── Database
    │   │   ├── DICOMcloud.ldf
    │   │   └── DICOMcloud.mdf
    │   ├── Docs
    │   │   ├── DICOMcloud-Arch..png
    │   │   └── DICOMcloud-Arch..pptx
    │   ├── SampleImages
    │   │   ├── 1.dcm
    │   │   ├── 2.dcm
    │   │   └── 3-International.dcm
    │   ├── Version
    │   │   ├── AssemblyInfo.Version.cs
    │   │   └── AssemblyInfo.Version.tt
    │   └── logo
    │       ├── logo.png
    │       └── logo.xcf
    ├── UnitTests
    │   └── DICOMcloud.Dicom.UnitTest
    │       ├── ArchieveDataAccessTests.cs
    │       ├── DICOMcloud.UnitTest.csproj
    │       ├── DICOMwebServicesTests.cs
    │       ├── DicomDatasetConvertersTests.cs
    │       ├── Helpers
    │       │   ├── DataAccessHelpers.cs
    │       │   ├── DicomHelpers.cs
    │       │   └── MockRetrieveUrlProvider.cs
    │       ├── MatchingConditionTests.cs
    │       ├── ObjectStoreServiceTests.cs
    │       ├── PaginationSearchTest.cs
    │       ├── Properties
    │       │   └── AssemblyInfo.cs
    │       ├── app.config
    │       └── packages.config
    ├── azuredeploy.json
    └── dist
        ├── DICOMcloud.Azure.dll
        ├── DICOMcloud.DataAccess.Database.dll
        ├── DICOMcloud.Wado.dll
        └── DICOMcloud.dll

76 directories, 357 files

标签:

实例下载地址

DICOMcloud:适用于Azure的DICOMweb .NET服务器实现与源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警