This file is indexed.

/usr/include/camitk-4.0/components/dicom/DicomComponent.h is in libcamitk-dev 4.0.4-2ubuntu4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
/*****************************************************************************
 * $CAMITK_LICENCE_BEGIN$
 *
 * CamiTK - Computer Assisted Medical Intervention ToolKit
 * (c) 2001-2016 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
 *
 * Visit http://camitk.imag.fr for more information
 *
 * This file is part of CamiTK.
 *
 * CamiTK is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * CamiTK is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with CamiTK.  If not, see <http://www.gnu.org/licenses/>.
 *
 * $CAMITK_LICENCE_END$
 ****************************************************************************/

#ifndef DICOMCOMPONENT_H
#define DICOMCOMPONENT_H

#include <QObject>

#include <ImageComponent.h>

class DicomSerie;
class vtkGDCMImageReader;

/**
 * @ingroup group_cepimaging_components_dicom
 *
 * @brief
 * DICOM Component represents a volumic image of a DICOM SERIES with its corresponding tags information (as CamiTK properties).
 * This class is part of the MODEL (in the MVP pattern) of the DICOM COMPONENT.
 *
 * @note This component uses GDCM >= 2.2 library.
 */
class DicomComponent : public camitk::ImageComponent {

    Q_OBJECT

public:
    /**
     * Create a new Component that handles DICOM images
     * @param pointor to the associated DicomSerie
     **/
    DicomComponent(DicomSerie*) throw(camitk::AbortException);

    /**
     * @brief Get the DicomSerie associated to this component.
     */
    DicomSerie* getSerie() {
        return serie;
    }

    /// Default Destructor
    virtual ~DicomComponent();

private:
    /**
     * @brief The image reader using GDCM that allows to read DICOM image as vtkImageData
     *
     * @note This class allows to make the bridge between GDCM and CamiTK.
     */
    vtkSmartPointer<vtkGDCMImageReader> imageReader;

    /**
     * @brief Update the LUT of the image by reading the good information from the DICOM headers.
     *
     * @note This method would have to be removed as soons as the CamiTK LUT is updated and working.
     */
    void updateLUT();

    /**
     * @brief Read the direct cosines angles from the input image
     * @param fileNames the SERIE slices
     * @return the corresponding ImageOrientation, rounded modulo 90 degrees
     */
    camitk::ImageOrientationHelper::PossibleImageOrientations readDirectCosinesAngle(const std::vector< std::string > & fileNames) const;

    /**
     * @brief Round the cosine input to the closest value between -1, 0 or 1
     * @param value the input cosine value
     * @return the rounded cosine value -1, 0 or 1
     */
    double roundCosine(const double & value) const;

    /**
     * @brief The associated DicomSerie to this component.
     */
    DicomSerie* serie;
};

#endif // DICOMCOMPONENT_H