fw4spl
|
Reads DICOM series from pacs. More...
#include <SeriesEnquirer.hpp>
Public Types | |
typedef ::fwCom::Slot< void(const std::string &, unsigned int, const std::string &)> | ProgressCallbackSlotType |
typedef std::vector< std::string > | InstanceUIDContainer |
typedef std::vector< ::boost::filesystem::path > | InstancePathContainer |
typedef std::vector< std::shared_ptr< const DcmDataset > > | DatasetContainer |
Public Member Functions | |
virtual bool | isA (const std::string &type) const override |
FWPACSIO_API | SeriesEnquirer () |
Constructor. | |
FWPACSIO_API | ~SeriesEnquirer () |
Destructor. | |
FWPACSIO_API void | initialize (const std::string &applicationTitle, const std::string &peerHostName, unsigned short peerPort, const std::string &peerApplicationTitle, const std::string &moveApplicationTitle="", ProgressCallbackSlotType::sptr progressCallback=ProgressCallbackSlotType::sptr()) |
Initialize the connection. More... | |
FWPACSIO_API bool | connect () |
Negotiate Association. | |
FWPACSIO_API void | disconnect () |
Release association. | |
FWPACSIO_API bool | pingPacs () |
Assemble and send C-ECHO request. | |
FWPACSIO_API bool | isConnectedToPacs () const |
Return true if there is an existing association. | |
FWPACSIO_API OFList< QRResponse * > | findSeriesByPatientName (const std::string &name) |
Find series by patient name. More... | |
FWPACSIO_API OFList< QRResponse * > | findSeriesByDate (const std::string &fromDate, const std::string &toDate) |
Find series by study date. More... | |
FWPACSIO_API OFList< QRResponse * > | findSeriesByUID (const std::string &uid) |
Find series by series UID. More... | |
FWPACSIO_API std::string | findSOPInstanceUID (const std::string &seriesInstanceUID, unsigned int instanceNumber) |
Find SOPInstanceUID of the specified instance. More... | |
FWPACSIO_API void | pullSeriesUsingMoveRetrieveMethod (InstanceUIDContainer instanceUIDContainer) |
Pull series using C-MOVE requests. More... | |
FWPACSIO_API void | pullSeriesUsingGetRetrieveMethod (InstanceUIDContainer instanceUIDContainer) |
Pull series using C-GET requests. More... | |
FWPACSIO_API void | pullInstanceUsingMoveRetrieveMethod (const std::string &seriesInstanceUID, const std::string &sopInstanceUID) |
Pull instance using C-MOVE requests. More... | |
FWPACSIO_API void | pullInstanceUsingGetRetrieveMethod (const std::string &seriesInstanceUID, const std::string &sopInstanceUID) |
Pull instance using C-GET requests. More... | |
FWPACSIO_API void | pushSeries (const InstancePathContainer &pathContainer) |
Push instances using C-STORE requests. More... | |
FWPACSIO_API void | pushSeries (const DatasetContainer &datasetContainer) |
Push instances using C-STORE requests. More... | |
Public Member Functions inherited from fwCore::BaseObject |
Static Public Member Functions | |
static bool | isTypeOf (const std::string &type) |
Static Public Member Functions inherited from fwCore::BaseObject | |
static bool | isTypeOf (const std::string &type) |
static const std::string & | leafClassname () |
return object's classname without its namespace, i.e. BaseObject | |
static const std::string & | classname () |
return object's classname without its namespace, i.e. BaseObject | |
Static Public Attributes | |
static FWPACSIO_APIconst::fwCom::Slots::SlotKeyType | s_PROGRESS_CALLBACK_SLOT = "CGetProgressCallback" |
Protected Member Functions | |
FWPACSIO_API OFList< QRResponse * > | sendFindRequest (DcmDataset dataset) |
Send Find Request. More... | |
FWPACSIO_API OFCondition | sendMoveRequest (DcmDataset dataset) |
Send Move Request. More... | |
FWPACSIO_API OFCondition | sendGetRequest (DcmDataset dataset) |
Send Get Request. More... | |
FWPACSIO_API OFCondition | sendStoreRequest (const ::boost::filesystem::path &path) |
Send Store Request. More... | |
FWPACSIO_API OFCondition | sendStoreRequest (const std::shared_ptr< const DcmDataset > &dataset) |
Send Store Request. More... | |
virtual FWPACSIO_API OFCondition | handleMOVEResponse (const T_ASC_PresentationContextID presID, RetrieveResponse *response, OFBool &waitForNextResponse) override |
Handle MOVE Response (Override) | |
virtual FWPACSIO_API OFCondition | handleSTORERequest (const T_ASC_PresentationContextID presID, DcmDataset *incomingObject, OFBool &continueCGETSession, Uint16 &cStoreReturnStatus) override |
Handle STORE Request (Override) | |
FWPACSIO_API Uint8 | findUncompressedPC (const OFString &sopClass) |
Find uncompressed presentation context. More... | |
Protected Attributes | |
std::string | m_moveApplicationTitle |
MOVE destination AE Title. | |
::boost::filesystem::path | m_path |
Path where the files must be saved. | |
ProgressCallbackSlotType::sptr | m_progressCallback |
Progress callback slot. | |
unsigned int | m_instanceIndex |
Dowloaded instance index. | |
Friends | |
template<class , class , class > | |
class | ::fwTools::ClassFactory |
class | ::fwTools::Factory |
Demangling methods | |
virtual const std::string & | getLeafClassname () const override |
return object's classname without its namespace, i.e. BaseObject | |
virtual const std::string & | getClassname () const override |
return full object's classname with its namespace, i.e. fwCore::BaseObject | |
static const std::string & | leafClassname () |
return object's classname without its namespace, i.e. BaseObject | |
static const std::string & | classname () |
return object's classname without its namespace, i.e. BaseObject | |
Reads DICOM series from pacs.
Definition at line 29 of file SeriesEnquirer.hpp.
OFList< QRResponse * > fwPacsIO::SeriesEnquirer::findSeriesByDate | ( | const std::string & | fromDate, |
const std::string & | toDate | ||
) |
Find series by study date.
[in] | fromDate | Beginning date |
[in] | toDate | Ending date |
Definition at line 332 of file SeriesEnquirer.cpp.
References sendFindRequest().
OFList< QRResponse * > fwPacsIO::SeriesEnquirer::findSeriesByPatientName | ( | const std::string & | name | ) |
Find series by patient name.
[in] | name | Patient name |
Definition at line 295 of file SeriesEnquirer.cpp.
References sendFindRequest().
OFList< QRResponse * > fwPacsIO::SeriesEnquirer::findSeriesByUID | ( | const std::string & | uid | ) |
Find series by series UID.
[in] | uid | Series UID |
Definition at line 369 of file SeriesEnquirer.cpp.
References sendFindRequest().
std::string fwPacsIO::SeriesEnquirer::findSOPInstanceUID | ( | const std::string & | seriesInstanceUID, |
unsigned int | instanceNumber | ||
) |
Find SOPInstanceUID of the specified instance.
[in] | seriesInstanceUID | Series instance UID |
[in] | instanceNumber | Instance number |
Definition at line 404 of file SeriesEnquirer.cpp.
References sendFindRequest().
|
protected |
Find uncompressed presentation context.
[in] | sopClass | SOP class which needs the presentation context |
Definition at line 50 of file SeriesEnquirer.cpp.
Referenced by sendFindRequest(), sendGetRequest(), sendMoveRequest(), and sendStoreRequest().
void fwPacsIO::SeriesEnquirer::initialize | ( | const std::string & | applicationTitle, |
const std::string & | peerHostName, | ||
unsigned short | peerPort, | ||
const std::string & | peerApplicationTitle, | ||
const std::string & | moveApplicationTitle = "" , |
||
ProgressCallbackSlotType::sptr | progressCallback = ProgressCallbackSlotType::sptr() |
||
) |
Initialize the connection.
[in] | applicationTitle | Local application title |
[in] | peerHostName | Pacs host name |
[in] | peerPort | Pacs port |
[in] | peerApplicationTitle | Pacs application title |
[in] | path | Local dicom folder path |
[in] | moveApplicationTitle | Move application title |
[in] | progressCallback | Progress callback |
Definition at line 67 of file SeriesEnquirer.cpp.
References fwTools::System::getTemporaryFolder(), fwDcmtkTools::Dictionary::loadDictionary(), m_moveApplicationTitle, m_path, and m_progressCallback.
void fwPacsIO::SeriesEnquirer::pullInstanceUsingGetRetrieveMethod | ( | const std::string & | seriesInstanceUID, |
const std::string & | sopInstanceUID | ||
) |
Pull instance using C-GET requests.
[in] | seriesInstanceUID | Series instance UID |
[in] | sopInstanceUID | SOP Instance UID |
Definition at line 535 of file SeriesEnquirer.cpp.
References m_instanceIndex, sendGetRequest(), and SLM_TRACE.
void fwPacsIO::SeriesEnquirer::pullInstanceUsingMoveRetrieveMethod | ( | const std::string & | seriesInstanceUID, |
const std::string & | sopInstanceUID | ||
) |
Pull instance using C-MOVE requests.
[in] | seriesInstanceUID | Series instance UID |
[in] | sopInstanceUID | SOP Instance UID |
Definition at line 503 of file SeriesEnquirer.cpp.
References m_instanceIndex, sendMoveRequest(), and SLM_TRACE.
void fwPacsIO::SeriesEnquirer::pullSeriesUsingGetRetrieveMethod | ( | InstanceUIDContainer | instanceUIDContainer | ) |
Pull series using C-GET requests.
[in] | instanceUIDContainer | Series instance UID container |
Definition at line 471 of file SeriesEnquirer.cpp.
References m_instanceIndex, sendGetRequest(), and SLM_TRACE.
void fwPacsIO::SeriesEnquirer::pullSeriesUsingMoveRetrieveMethod | ( | InstanceUIDContainer | instanceUIDContainer | ) |
Pull series using C-MOVE requests.
[in] | instanceUIDContainer | Series instance UID container |
Definition at line 438 of file SeriesEnquirer.cpp.
References m_instanceIndex, sendMoveRequest(), and SLM_TRACE.
void fwPacsIO::SeriesEnquirer::pushSeries | ( | const InstancePathContainer & | pathContainer | ) |
Push instances using C-STORE requests.
[in] | pathContainer | Instance paths container |
Definition at line 567 of file SeriesEnquirer.cpp.
References m_instanceIndex, m_progressCallback, sendStoreRequest(), and SLM_TRACE.
void fwPacsIO::SeriesEnquirer::pushSeries | ( | const DatasetContainer & | datasetContainer | ) |
Push instances using C-STORE requests.
[in] | DatasetContainer | DICOM dataset container |
Definition at line 600 of file SeriesEnquirer.cpp.
References m_instanceIndex, m_progressCallback, sendStoreRequest(), and SLM_TRACE.
|
protected |
Send Find Request.
[in] | dataset | Request dataset |
Definition at line 198 of file SeriesEnquirer.cpp.
References findUncompressedPC().
Referenced by findSeriesByDate(), findSeriesByPatientName(), findSeriesByUID(), and findSOPInstanceUID().
|
protected |
Send Get Request.
[in] | dataset | Request dataset |
Definition at line 236 of file SeriesEnquirer.cpp.
References findUncompressedPC(), m_path, SLM_ASSERT, and SLM_WARN.
Referenced by pullInstanceUsingGetRetrieveMethod(), and pullSeriesUsingGetRetrieveMethod().
|
protected |
Send Move Request.
[in] | dataset | Request dataset |
Definition at line 218 of file SeriesEnquirer.cpp.
References findUncompressedPC(), m_moveApplicationTitle, m_path, SLM_ASSERT, and SLM_WARN_IF.
Referenced by pullInstanceUsingMoveRetrieveMethod(), and pullSeriesUsingMoveRetrieveMethod().
|
protected |
Send Store Request.
[in] | path | File path |
Definition at line 257 of file SeriesEnquirer.cpp.
References findUncompressedPC(), OSLM_WARN, and SLM_WARN.
Referenced by pushSeries().
|
protected |
Send Store Request.
[in] | dataset | Dicom dataset |
Definition at line 275 of file SeriesEnquirer.cpp.
References findUncompressedPC(), OSLM_WARN, and SLM_WARN.