Skip to content
Browse files

Split into SCU and SCP

  • Loading branch information...
1 parent 6dae4b6 commit 7fe13ab028e961efcc40108733158f7eba7483ef @malaterre committed
Showing with 228 additions and 28 deletions.
  1. +1 −16 itkDICOMBase.h
  2. +16 −2 itkDICOMEchoSCU.h
  3. +9 −2 itkDICOMFindSCU.h
  4. +4 −2 itkDICOMMoveSCU.h
  5. +22 −0 itkDICOMSCP.cxx
  6. +48 −0 itkDICOMSCP.h
  7. +22 −0 itkDICOMSCU.cxx
  8. +71 −0 itkDICOMSCU.h
  9. +1 −1 itkDICOMStoreSCP.cxx
  10. +2 −2 itkDICOMStoreSCP.h
  11. +11 −1 itkDICOMStoreSCU.cxx
  12. +21 −2 itkDICOMStoreSCU.h
View
17 itkDICOMBase.h
@@ -63,15 +63,6 @@ class ITK_EXPORT DICOMBase : public LightProcessObject
itkSetStringMacro(CalledAETitle);
itkGetStringMacro(CalledAETitle);
- /** proposed transmission transfer syntaxes: */
- typedef enum {
- ImplicitVRLittleEndian = 1,
- ExplicitVRLittleEndian = 2,
- ExplicitVRBigEndian = 4,
- } TransmissionTransferSyntaxType;
- itkSetEnumMacro(TransmissionTransferSyntax, TransmissionTransferSyntaxType);
- itkGetEnumMacro(TransmissionTransferSyntax, TransmissionTransferSyntaxType);
-
/** other network options: */
/// timeout for connection requests.
@@ -87,7 +78,7 @@ class ITK_EXPORT DICOMBase : public LightProcessObject
itkSetMacro(DIMSETimeout, unsigned int);
itkGetMacro(DIMSETimeout, unsigned int);
- /// set max receive pdu to n bytes
+ /// set max receive pdu to n bytes
itkSetMacro(MaxPDU, unsigned int);
itkGetMacro(MaxPDU, unsigned int);
@@ -95,10 +86,6 @@ class ITK_EXPORT DICOMBase : public LightProcessObject
itkSetMacro(NumberOfRepeat, unsigned int);
itkGetMacro(NumberOfRepeat, unsigned int);
- /// cancel after n responses
- itkSetMacro(CancelAfterNResponses, unsigned int);
- itkGetMacro(CancelAfterNResponses, unsigned int);
-
private:
// FIXME: an abstract class should not have data member:
std::string m_PeerHostname;
@@ -106,13 +93,11 @@ class ITK_EXPORT DICOMBase : public LightProcessObject
QueryInformationModelType m_QueryInformationModel;
std::string m_AETitle;
std::string m_CalledAETitle;
- TransmissionTransferSyntaxType m_TransmissionTransferSyntax;
unsigned int m_Timeout;
unsigned int m_ACSETimeout;
unsigned int m_DIMSETimeout;
unsigned int m_MaxPDU;
unsigned int m_NumberOfRepeat;
- unsigned int m_CancelAfterNResponses;
private:
DICOMBase(const Self&); //purposely not implemented
View
18 itkDICOMEchoSCU.h
@@ -17,7 +17,7 @@
#ifndef __itkDICOMEchoSCU_h
#define __itkDICOMEchoSCU_h
-#include "itkDICOMBase.h"
+#include "itkDICOMSCU.h"
#include <string>
@@ -27,7 +27,7 @@ namespace itk
/** \class DICOMEchoSCU
* \brief
*/
-class ITK_EXPORT DICOMEchoSCU : public DICOMBase
+class ITK_EXPORT DICOMEchoSCU : public DICOMSCU
{
public:
/** Standard class typedefs. */
@@ -38,6 +38,20 @@ class ITK_EXPORT DICOMEchoSCU : public DICOMBase
/** Run-time type information (and related methods). */
itkTypeMacro(DICOMEchoSCU, Superclass);
+ /** association negotiation debugging: */
+
+ /** propose n transfer syntaxes */
+ itkSetMacro(ProposeTransferSyntax, unsigned int);
+ itkGetMacro(ProposeTransferSyntax, unsigned int);
+
+ /** propose n presentation contexts */
+ itkSetMacro(ProposePresentationContexts, unsigned int);
+ itkGetMacro(ProposePresentationContexts, unsigned int);
+
+private:
+ unsigned int m_ProposeTransferSyntax;
+ unsigned int m_ProposePresentationContexts;
+
private:
DICOMEchoSCU(const Self&); //purposely not implemented
void operator=(const Self&); //purposely not implemented
View
11 itkDICOMFindSCU.h
@@ -17,7 +17,7 @@
#ifndef __itkDICOMFindSCU_h
#define __itkDICOMFindSCU_h
-#include "itkDICOMBase.h"
+#include "itkDICOMSCU.h"
#include <string>
@@ -27,7 +27,7 @@ namespace itk
/** \class DICOMFindSCU
* \brief
*/
-class ITK_EXPORT DICOMFindSCU : public DICOMBase
+class ITK_EXPORT DICOMFindSCU : public DICOMSCU
{
public:
/** Standard class typedefs. */
@@ -38,6 +38,13 @@ class ITK_EXPORT DICOMFindSCU : public DICOMBase
/** Run-time type information (and related methods). */
itkTypeMacro(DICOMFindSCU, Superclass);
+ /** cancel after n responses */
+ itkSetMacro(CancelAfterNResponses, unsigned int);
+ itkGetMacro(CancelAfterNResponses, unsigned int);
+
+private:
+ unsigned int m_CancelAfterNResponses;
+
private:
DICOMFindSCU(const Self&); //purposely not implemented
void operator=(const Self&); //purposely not implemented
View
6 itkDICOMMoveSCU.h
@@ -17,7 +17,7 @@
#ifndef __itkDICOMMoveSCU_h
#define __itkDICOMMoveSCU_h
-#include "itkDICOMBase.h"
+#include "itkDICOMSCU.h"
#include <string>
@@ -26,8 +26,10 @@ namespace itk
/** \class DICOMMoveSCU
* \brief
+ *
+ * Do we need move ?
*/
-class ITK_EXPORT DICOMMoveSCU : public DICOMBase
+class ITK_EXPORT DICOMMoveSCU : public DICOMSCU
{
public:
/** Standard class typedefs. */
View
22 itkDICOMSCP.cxx
@@ -0,0 +1,22 @@
+/*=========================================================================
+
+ Program: Insight Segmentation & Registration Toolkit
+ Module: $RCSfile: itkDICOMBase.h,v $
+ Language: C++
+ Date: $Date: 2009-11-29 15:51:11 $
+ Version: $Revision: 1.1 $
+
+ Copyright (c) Insight Software Consortium. All rights reserved.
+ See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#include "itkDICOMBase.h"
+
+namespace itk
+{
+
+} // end namespace itk
View
48 itkDICOMSCP.h
@@ -0,0 +1,48 @@
+/*=========================================================================
+
+ Program: Insight Segmentation & Registration Toolkit
+ Module: $RCSfile: itkDICOMBase.h,v $
+ Language: C++
+ Date: $Date: 2009-11-29 15:51:11 $
+ Version: $Revision: 1.1 $
+
+ Copyright (c) Insight Software Consortium. All rights reserved.
+ See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#ifndef __itkDICOMSCP_h
+#define __itkDICOMSCP_h
+
+#include "itkDICOMBase.h"
+
+#include <string>
+
+namespace itk
+{
+
+/** \class DICOMBase
+ * \brief Abstract superclass defines image DICOM interface.
+ */
+class ITK_EXPORT DICOMSCP : public DICOMBase
+{
+public:
+ /** Standard class typedefs. */
+ typedef DICOMBase Self;
+ typedef LightProcessObject Superclass;
+ typedef SmartPointer<Self> Pointer;
+
+ /** Run-time type information (and related methods). */
+ itkTypeMacro(DICOMBase, Superclass);
+
+private:
+ DICOMSCP(const Self&); //purposely not implemented
+ void operator=(const Self&); //purposely not implemented
+};
+
+} // end namespace itk
+
+#endif // __itkDICOMBase_h
View
22 itkDICOMSCU.cxx
@@ -0,0 +1,22 @@
+/*=========================================================================
+
+ Program: Insight Segmentation & Registration Toolkit
+ Module: $RCSfile: itkDICOMBase.h,v $
+ Language: C++
+ Date: $Date: 2009-11-29 15:51:11 $
+ Version: $Revision: 1.1 $
+
+ Copyright (c) Insight Software Consortium. All rights reserved.
+ See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#include "itkDICOMBase.h"
+
+namespace itk
+{
+
+} // end namespace itk
View
71 itkDICOMSCU.h
@@ -0,0 +1,71 @@
+/*=========================================================================
+
+ Program: Insight Segmentation & Registration Toolkit
+ Module: $RCSfile: itkDICOMBase.h,v $
+ Language: C++
+ Date: $Date: 2009-11-29 15:51:11 $
+ Version: $Revision: 1.1 $
+
+ Copyright (c) Insight Software Consortium. All rights reserved.
+ See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#ifndef __itkDICOMSCU_h
+#define __itkDICOMSCU_h
+
+#include "itkDICOMBase.h"
+
+#include <string>
+
+namespace itk
+{
+
+/** \class DICOMBase
+ * \brief Abstract superclass defines image DICOM interface.
+ */
+class ITK_EXPORT DICOMSCU : public DICOMBase
+{
+public:
+ /** Standard class typedefs. */
+ typedef DICOMSCU Self;
+ typedef DICOMBase Superclass;
+ typedef SmartPointer<Self> Pointer;
+
+ /** Run-time type information (and related methods). */
+ itkTypeMacro(DICOMSCU, Superclass);
+
+ /** proposed transmission transfer syntaxes: */
+ typedef enum {
+ ImplicitVRLittleEndian = 1, // Implicit VR Little Endian: Default Transfer Syntax for DICOM
+ ExplicitVRLittleEndian = 2, // Explicit VR Little Endian
+ DeflatedExplicitVRLittleEndian = 4, // Deflated Explicit VR Little Endian
+ ExplicitVRBigEndian = 8, // Explicit VR Big Endian
+ JPEGBaselineProcess1 = 16, // JPEG Baseline (Process 1): Default Transfer Syntax for Lossy JPEG 8 Bit Image Compression
+ JPEGExtendedProcess24 = 32, // JPEG Extended (Process 2 & 4): Default Transfer Syntax for Lossy JPEG 12 Bit Image Compression (Process 4 only)
+ JPEGLosslessNonHierarchicalProcess14 = 64, // JPEG Lossless, Non-Hierarchical (Process 14)
+ JPEGLosslessNonHierarchicalFirstOrderPrediction = 128, // JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression
+ JPEGLSLosslessImageCompression = 256, // JPEG-LS Lossless Image Compression
+ JPEGLSLossyNearLosslessImageCompression = 512, // JPEG-LS Lossy (Near-Lossless) Image Compression
+ JPEG2000ImageCompressionLosslessOnly = 1024, // JPEG 2000 Image Compression (Lossless Only)
+ JPEG2000ImageCompression = 2048, // JPEG 2000 Image Compression
+ MPEG2MainProfileMainLevel = 4096, // MPEG2 Main Profile @ Main Level
+ RLELossless = 8192, // RLE Lossless
+ } TransmissionTransferSyntaxType;
+ itkSetEnumMacro(ProposedTransmissionTransferSyntax, TransmissionTransferSyntaxType);
+ itkGetEnumMacro(ProposedTransmissionTransferSyntax, TransmissionTransferSyntaxType);
+
+private:
+ TransmissionTransferSyntaxType m_ProposedTransmissionTransferSyntax;
+
+private:
+ DICOMSCU(const Self&); //purposely not implemented
+ void operator=(const Self&); //purposely not implemented
+};
+
+} // end namespace itk
+
+#endif // __itkDICOMBase_h
View
2 itkDICOMStoreSCP.cxx
@@ -14,7 +14,7 @@
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
-#include "itkDICOMStoreSCU.h"
+#include "itkDICOMStoreSCP.h"
namespace itk
{
View
4 itkDICOMStoreSCP.h
@@ -17,7 +17,7 @@
#ifndef __itkDICOMStoreSCP_h
#define __itkDICOMStoreSCP_h
-#include "itkDICOMBase.h"
+#include "itkDICOMSCP.h"
#include <string>
@@ -27,7 +27,7 @@ namespace itk
/** \class DICOMStoreSCP
* \brief
*/
-class ITK_EXPORT DICOMStoreSCP : public DICOMBase
+class ITK_EXPORT DICOMStoreSCP : public DICOMSCP
{
public:
/** Standard class typedefs. */
View
12 itkDICOMStoreSCU.cxx
@@ -14,9 +14,19 @@
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
-#include "itkDICOMEchoSCU.h"
+#include "itkDICOMStoreSCU.h"
namespace itk
{
+const DICOMStoreSCU::FileNamesContainer & DICOMStoreSCU::GetFileNames() const
+{
+ return m_FileNames;
+}
+
+void DICOMStoreSCU::SetFileNames (const FileNamesContainer &names)
+{
+ m_FileNames = names;
+}
+
} // end namespace itk
View
23 itkDICOMStoreSCU.h
@@ -17,7 +17,7 @@
#ifndef __itkDICOMStoreSCU_h
#define __itkDICOMStoreSCU_h
-#include "itkDICOMBase.h"
+#include "itkDICOMSCU.h"
#include <string>
@@ -27,7 +27,7 @@ namespace itk
/** \class DICOMStoreSCU
* \brief
*/
-class ITK_EXPORT DICOMStoreSCU : public DICOMBase
+class ITK_EXPORT DICOMStoreSCU : public DICOMSCU
{
public:
/** Standard class typedefs. */
@@ -38,6 +38,25 @@ class ITK_EXPORT DICOMStoreSCU : public DICOMBase
/** Run-time type information (and related methods). */
itkTypeMacro(DICOMStoreSCU, Superclass);
+ /** input files */
+ typedef std::vector< std::string > FileNamesContainer;
+ void SetFileNames (const FileNamesContainer &name);
+ const FileNamesContainer & GetFileNames() const;
+
+ /** user identity negotiation: */
+ /** authenticate using user name */
+ itkSetStringMacro(UserName);
+ itkGetStringMacro(UserName);
+
+ /** authenticate using password */
+ itkSetStringMacro(Password);
+ itkGetStringMacro(Password);
+
+private:
+ FileNamesContainer m_FileNames;
+ std::string m_UserName;
+ std::string m_Password;
+
private:
DICOMStoreSCU(const Self&); //purposely not implemented
void operator=(const Self&); //purposely not implemented

0 comments on commit 7fe13ab

Please sign in to comment.
Something went wrong with that request. Please try again.