rexcardan / Evil-DICOM

A C# DICOM Library
170 stars 98 forks source link

Where is the EvilDICOM.Network.QueryBuilder?? #64

Closed jazb83 closed 5 years ago

jazb83 commented 5 years ago

Hello,

I just installed EvilDicom 2.0.3 using Nuget.

I tried to follow this example (ref: https://github.com/rexcardan/Evil-DICOM/blob/master/DocFx/articles/networking.md) :

using EvilDICOM.Core.Helpers; using EvilDICOM.Network.Querying;

//The SCP we can Query (we'll just store this info...not create our own SCP) var daemon = Entity.CreateLocal("Daemon", 104);

//The SCU that we will use in the QueryBuilder var en1 = Entity.CreateLocal("EvilDICOM", 666); var scu = new DICOMSCU(en1);

//Construct the QueryBuilder (us, them) var qb = new QueryBuilder(scu, daemon);

//Get all studies var studies = qb.GetStudyUids("PatientId");

//Filter studies if you want //Next pass in to get all series from those studies var series = qb.GetSeriesUids(studies);

//Filter series if you want //Next get all images from those remaining series var images = qb.GetImageUids(series);

but I am getting: " Error CS0246 The type or namespace name 'QueryBuilder' could not be found (are you missing a using directive or an assembly reference?)"

I thought that the NameSpace EvilDICOM.Network.Querying contains the QueryBuilder class( see http://rexcardan.github.io/Evil-DICOM/api/EvilDICOM.Network.Querying.html).

but I can only see the following:

-EvilDicom.Network -EvilDicom.Network.Associations.PDUs -EvilDicom.Network.DIMSE -EvilDicom.Network.DIMSE.Actions -EvilDicom.Network.DIMSE.IOD -EvilDicom.Network.Enums -EvilDicom.Network.Extensions -EvilDicom.Network.Helpers -EvilDicom.Network.Interfaces -EvilDicom.Network.Messaging -EvilDicom.Network.PDUs -EvilDicom.Network.PDUs.ITEMS -EvilDicom.Network.Processors -EvilDicom.Network.Readers -EvilDicom.Network.SCUOps -EvilDicom.Network.Services -EvilDicom.Network.Services.Interfaces

What is missing? Do I have the right version? What I am doing wrong?

jesst3r commented 5 years ago

the same

rexcardan commented 5 years ago

From DICOMSCU, try calling GetCFinder() method. It is the equivalent.

silkfire commented 5 years ago

@jazb83 To clarify:

var cFinder = scu.GetCFinder(daemon).

var studies = cFinder.FindStudies("PatientId");
var series = cFinder.FindSeries(studies);
var images = cFinder.FindImages(series);