ImFusion C++ SDK 4.4.0
ImFusion::Dicom::ScannerQt Class Reference

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

A scanner with Qt interop. More...

Inheritance diagram for ImFusion::Dicom::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 ImFusion::Dicom::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 ImFusion::Dicom::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 ImFusion::Dicom::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 ImFusion::Dicom::ScannerQt::addPatient ( Patient * patient)
overrideprotectedvirtual

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

Reimplemented from ImFusion::Dicom::Scanner.

◆ removePacsProxy()

void ImFusion::Dicom::ScannerQt::removePacsProxy ( PacsSeriesProxy * psp)
overrideprotectedvirtual

Only emits pacsProxyRemoved but does not remove the proxy.

Reimplemented from ImFusion::Dicom::Scanner.

◆ updateProgress()

void ImFusion::Dicom::ScannerQt::updateProgress ( int val,
int max )
overrideprotectedvirtual

Emits progressRangeChanged.

Reimplemented from ImFusion::Dicom::Scanner.

◆ updateProgressText()

void ImFusion::Dicom::ScannerQt::updateProgressText ( const std::string & text)
overrideprotectedvirtual

Emits progressValueChanged.

Reimplemented from ImFusion::Dicom::Scanner.


The documentation for this class was generated from the following file:
  • ImFusion/Dicom/GUI/Scanner.h
Search Tab / S to search, Esc to close