!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/include/gdcm-3.0/   drwxr-xr-x
Free 13.1 GB of 57.97 GB (22.59%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     gdcmPresentationContextGenerator.h (3.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*=========================================================================

  Program: GDCM (Grassroots DICOM). A DICOM library

  Copyright (c) 2006-2011 Mathieu Malaterre
  All rights reserved.
  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html 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 notice for more information.

=========================================================================*/
#ifndef GDCMPRESENTATIONCONTEXTGENERATOR_H
#define GDCMPRESENTATIONCONTEXTGENERATOR_H

#include "gdcmDirectory.h"
#include "gdcmPresentationContext.h"

namespace gdcm
{
class TransferSyntax;
class File;

/**
 * \brief PresentationContextGenerator
 * \details This class is responsible for generating the proper PresentationContext that
 * will be used in subsequent operation during a DICOM Query/Retrieve
 * association. The step of the association is very sensible as special care
 * need to be taken to explicitly define what instance are going to be send
 * and how they are encoded.
 *
 * For example a PresentationContext will express that negotiation requires
 * that CT Image Storage are send using JPEG Lossless, while US Image Storage
 * are sent using RLE Transfer Syntax.
 *
 * Two very different API are exposed one which will always default to little
 * endian transfer syntax see GenerateFromUID()
 * This API is used for C-ECHO, C-FIND and C-MOVE (SCU).
 * Another API: GenerateFromFilenames() is used for C-STORE (SCU) as it will
 * loop over all filenames argument to detect the actual encoding. and
 * therefore find the proper encoding to be used.
 *
 * Two modes are available. The default mode (SetMergeModeToAbstractSyntax)
 * append PresentationContext (one AbstractSyntax and one TransferSyntax), as
 * long a they are different. Eg MR Image Storage/JPEG2000 and MR Image
 * Storage/JPEGLossless would be considered different.  the other mode
 * SetMergeModeToTransferSyntax merge any new TransferSyntax to the already
 * existing PresentationContext in order to re-use the same AbstractSyntax.
 *
 * \see PresentationContext
 */
class GDCM_EXPORT PresentationContextGenerator
{
public:
  PresentationContextGenerator();

  // Set MergeMode
  // Default mode, each pair AbstractSyntax/TransferSyntax are only merged when
  // exactly identical
  void SetMergeModeToAbstractSyntax();

  // Set MergeMode
  // Merge is done on a per AbstractSyntax basis. Any new TransferSyntax for a
  // given AbstractSyntax is merge to the existing PresentationContext refering
  // to that AbstractSyntax
  void SetMergeModeToTransferSyntax();

  /// Generate the PresentationContext array from a UID (eg. VerificationSOPClass)
  bool GenerateFromUID(UIDs::TSName asname);

  /// Generate the PresentationContext array from a File-Set. File specified needs to
  /// be valid DICOM files.
  /// Used for C-STORE operations
  bool GenerateFromFilenames(const Directory::FilenamesType &files);

  /// Add a single PresentationContext from a single File. Call multiple times when
  /// dealing with multiple files.
  bool AddFromFile(const File &file);

  typedef std::vector<PresentationContext> PresentationContextArrayType;
  typedef PresentationContextArrayType::size_type SizeType;
  PresentationContextArrayType const &GetPresentationContexts() { return PresContext; }

  /// Not implemented for now. GDCM internally uses Implicit Little Endian
  void SetDefaultTransferSyntax( const TransferSyntax &ts );
protected:
  bool AddPresentationContext( const char *absyn, const char *ts );
  const char *GetDefaultTransferSyntax() const;

private:
  std::vector<PresentationContext> PresContext;
  static std::string DefaultTransferSyntax;
};

} // end namespace gdcm

#endif //GDCMPRESENTATIONCONTEXTGENERATOR_H

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0067 ]--