9 #include "fwPacsIO/config.hpp" 11 #include <fwCom/Slot.hpp> 12 #include <fwCom/Slots.hpp> 14 #include <fwCore/BaseObject.hpp> 16 #include <fwMemory/BufferObject.hpp> 18 #include <boost/filesystem/path.hpp> 20 #include <dcmtk/config/osconfig.h> 21 #include <dcmtk/dcmnet/scu.h> 38 FWPACSIO_API
static const ::fwCom::Slots::SlotKeyType s_PROGRESS_CALLBACK_SLOT;
41 typedef std::vector< std::string > InstanceUIDContainer;
43 typedef std::vector< ::boost::filesystem::path > InstancePathContainer;
45 typedef std::vector< CSPTR(DcmDataset) > DatasetContainer;
63 FWPACSIO_API
void initialize(
const std::string& applicationTitle,
64 const std::string& peerHostName,
unsigned short peerPort,
65 const std::string& peerApplicationTitle,
66 const std::string& moveApplicationTitle =
"",
67 ProgressCallbackSlotType::sptr progressCallback = ProgressCallbackSlotType::sptr());
70 FWPACSIO_API
bool connect();
73 FWPACSIO_API
void disconnect();
76 FWPACSIO_API
bool pingPacs();
79 FWPACSIO_API
bool isConnectedToPacs()
const;
86 FWPACSIO_API OFList< QRResponse* > findSeriesByPatientName(
const std::string& name);
94 FWPACSIO_API OFList< QRResponse* > findSeriesByDate(
const std::string& fromDate,
const std::string& toDate);
101 FWPACSIO_API OFList< QRResponse* > findSeriesByUID(
const std::string& uid);
109 FWPACSIO_API std::string findSOPInstanceUID(
const std::string& seriesInstanceUID,
unsigned int instanceNumber);
115 FWPACSIO_API
void pullSeriesUsingMoveRetrieveMethod(InstanceUIDContainer instanceUIDContainer);
121 FWPACSIO_API
void pullSeriesUsingGetRetrieveMethod(InstanceUIDContainer instanceUIDContainer);
128 FWPACSIO_API
void pullInstanceUsingMoveRetrieveMethod(
const std::string& seriesInstanceUID,
129 const std::string& sopInstanceUID);
136 FWPACSIO_API
void pullInstanceUsingGetRetrieveMethod(
const std::string& seriesInstanceUID,
137 const std::string& sopInstanceUID);
143 FWPACSIO_API
void pushSeries(
const InstancePathContainer& pathContainer);
149 FWPACSIO_API
void pushSeries(
const DatasetContainer& datasetContainer);
158 FWPACSIO_API OFList< QRResponse* > sendFindRequest(DcmDataset dataset);
165 FWPACSIO_API OFCondition sendMoveRequest(DcmDataset dataset);
172 FWPACSIO_API OFCondition sendGetRequest(DcmDataset dataset);
179 FWPACSIO_API OFCondition sendStoreRequest(const ::boost::filesystem::path& path);
186 FWPACSIO_API OFCondition sendStoreRequest(
const CSPTR(DcmDataset)& dataset);
189 FWPACSIO_API
virtual OFCondition handleMOVEResponse(
190 const T_ASC_PresentationContextID presID, RetrieveResponse* response, OFBool& waitForNextResponse)
override;
193 FWPACSIO_API
virtual OFCondition handleSTORERequest (
194 const T_ASC_PresentationContextID presID, DcmDataset* incomingObject,
195 OFBool& continueCGETSession, Uint16& cStoreReturnStatus)
override;
201 FWPACSIO_API Uint8 findUncompressedPC(
const OFString& sopClass);
Base class for all FW4SPL's classes.
ProgressCallbackSlotType::sptr m_progressCallback
Progress callback slot.
fwPacsIO contains classes used to communicate with a PACS.
Reads DICOM series from pacs.
::boost::filesystem::path m_path
Path where the files must be saved.
#define fwCoreClassDefinitionsWithFactoryMacro(_classinfo_, _parameters_, _factory_)
Generate common construction methods for classes with one factory.
#define fwCoreAllowSharedFromThis()
Generate getSptr and getConstSptr methods.
std::string m_moveApplicationTitle
MOVE destination AE Title.
unsigned int m_instanceIndex
Dowloaded instance index.