DYT/Tool/3rdParty_x64/include/dcmtk/dcmimgle/diregbas.h
2024-11-22 23:19:31 +08:00

97 lines
2.2 KiB
C++

/*
*
* Copyright (C) 1996-2011, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmimgle
*
* Author: Joerg Riesmeier
*
* Purpose: DicomRegisterBase (Header)
*
*/
#ifndef DIREGBAS_H
#define DIREGBAS_H
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmimgle/diutils.h"
/*------------------------*
* forward declarations *
*------------------------*/
class DiImage;
class DiColorImage;
class DiMonoPixel;
class DiDocument;
class DiRegisterBase;
/*---------------------*
* class declaration *
*---------------------*/
/** Abstract base class to register additional libraries
*/
class DCMTK_DCMIMGLE_EXPORT DiRegisterBase
{
public:
/** constructor, default
*/
DiRegisterBase()
{
}
/** destructor
*/
virtual ~DiRegisterBase()
{
}
/** create color image representation (abstract)
*
** @param docu pointer to dataset (encapsulated)
* @param status image status
* @param photo photometric interpretation
*
** @return pointer to new DiImage object (NULL if an error occurred)
*/
virtual DiImage *createImage(const DiDocument *docu,
const EI_Status status,
const EP_Interpretation photo) = 0;
/** create monochrome pixel data of color image (abstract)
*
** @param image pointer to color image
* @param red coefficient by which the red component is weighted
* @param green coefficient by which the green component is weighted
* @param blue coefficient by which the blue component is weighted
*
** @return pointer to new DiImage object (NULL if an error occurred)
*/
virtual DiMonoPixel *createMonoImageData(const DiColorImage *image,
const double red,
const double green,
const double blue) = 0;
/// global pointer to registered 'dcmimage' library
static DiRegisterBase *Pointer;
};
#endif