97 lines
2.2 KiB
C++
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
|