ImFusion SDK 4.3
ScannerQt Class Reference

#include <ImFusion/Dicom/GUI/Scanner.h>

A scanner with Qt interop. More...

+ Inheritance diagram for ScannerQt:

Detailed Description

A scanner with Qt interop.

WARNING: This class is considered internal, use at your own risk!

Public Member Functions

 ScannerQt (Dicom::SharedDatasetCache cache)
 
- Public Member Functions inherited from Scanner
 Scanner (Dicom::SharedDatasetCache cache)
 
void setPacs (DicomPacsCommunication *pacs)
 Sets the PACS instance to use for scanning.
 
void setDatasetCache (Dicom::SharedDatasetCache cache)
 
Dicom::SharedDatasetCache datasetCache () const
 
void setNumberOfThreads (int threads)
 Sets the number of threads used internally.
 
int numberOfThreads () const
 
void scanDirectory (const QString &directory, bool recursive, bool useDicomdirOnly, bool checkDicomHeader)
 Scan a directory for Dicom files.
 
void scanDicomDir (const QString &dicomDirFile)
 Scan a DICOMDIR file.
 
void scanPacs (const DcmDataset &requestedTags)
 Retrieve patients from a PACS with a C-FIND.
 
void scanPacs (const QString &patientNameFilter, const QString &studyFilter)
 Retrieve patients from a PACS by requesting the default tags.
 
void scanPacsSeries (PacsSeriesProxy *psp)
 Retrieve a series from a PACS with a C-MOVE.
 
std::optional< Network::HttpErrorscanWeb (const Filesystem::Url &url)
 Scans a DICOMweb server for patients.
 
void cancel ()
 Cancel any scanning.
 
const std::vector< Patient * > & patients () const
 Return the patients found by the last scan.
 
std::vector< std::unique_ptr< Patient > > takePatients ()
 Retrieve the patients found by the last scan.
 

Protected Member Functions

void addPatient (Patient *patient) override
 Does not merge the patient but just adds it to the list of patients and emits patientAdded.
 
void removePacsProxy (PacsSeriesProxy *psp) override
 Only emits pacsProxyRemoved but does not remove the proxy.
 
void updateProgress (int val, int max) override
 Emits progressRangeChanged.
 
void updateProgressText (const std::string &text) override
 Emits progressValueChanged.
 
- Protected Member Functions inherited from Scanner
void scanDicomDirImpl (const QString &dicomDirFile, bool callUpdateProgress)
 
QFileInfoList retrieveFileList (const QDir &directory, bool recursive, bool dicomdirOnly, int depth)
 

All these signal are potentially emitted by different threads. Those threads are also <em>not</em> managed by QThread!

void patientAdded ()
 
void pacsProxyRemoved (PacsSeriesProxy *)
 
void progressRangeChanged (int min, int max)
 
void progressValueChanged (int value)
 
void progressTextChanged (QString text)
 

Additional Inherited Members

- Protected Attributes inherited from Scanner
Dicom::SharedDatasetCache m_cache
 
DicomPacsCommunicationm_pacs
 
std::atomic< bool > m_wasCancelled
 
int m_numThreads
 Number of threads used internally by scanDirectory.
 
std::mutex m_patientsLock
 
std::vector< Patient * > m_patients
 

Member Function Documentation

◆ addPatient()

void addPatient ( Patient * patient)
overrideprotectedvirtual

Does not merge the patient but just adds it to the list of patients and emits patientAdded.

Reimplemented from Scanner.

◆ removePacsProxy()

void removePacsProxy ( PacsSeriesProxy * psp)
overrideprotectedvirtual

Only emits pacsProxyRemoved but does not remove the proxy.

Reimplemented from Scanner.

◆ updateProgress()

void updateProgress ( int val,
int max )
overrideprotectedvirtual

Emits progressRangeChanged.

Reimplemented from Scanner.

◆ updateProgressText()

void updateProgressText ( const std::string & text)
overrideprotectedvirtual

Emits progressValueChanged.

Reimplemented from Scanner.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close