This file is indexed.

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

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
102
103
104
105
106
107
108
109
110
/*****************************************************************************
 * $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 DICOMCOMPONENTEXTENSION_H
#define DICOMCOMPONENTEXTENSION_H

#include <QObject>

#include<ComponentExtension.h>

namespace camitk {
class Component;
}

class DicomDialog;
class DicomDialogEntry;

#include "DicomSerie.h"


/**
 * @ingroup group_cepimaging_components_dicom
 *
 * @brief
 * DICOM image Component manager.
 *
 * @note This @ref camitk::Component "Component" requires the GDCM library in order to work correctly.
 * @note This class represents the controller (in the MVP design pattern) of the DICOM Component
 */
class DicomComponentExtension : public camitk::ComponentExtension {
    Q_OBJECT
    Q_INTERFACES(camitk::ComponentExtension)
    Q_PLUGIN_METADATA(IID "fr.imag.camitk.imaging.component.dicom")

public:
    /// Constructor
    DicomComponentExtension() : ComponentExtension() {}

    /// Method returning the component extension name
    virtual QString getName() const {
        return "DICOM";
    };

    /// Method returning the component extension descrption
    virtual QString getDescription() const {
        return "This allows one to read a single .dcm DICOM image file using the library GDCM 2.2.x";
    };


    /** Get the list of managed extensions
     * (each file with an extension in the list can be loaded by this extension)
     */
    virtual QStringList getFileExtensions() const;

    /** Open a single .dcm image or a directory containing files to be read
     */
    virtual camitk::Component * open(const QString &) throw (camitk::AbortException);

    /** Save a given Component (does not have to be top-level)
     *  into one of the currently managed format.
     *  @return false if the operation was not performed properly or not performed at all.
     */
    virtual bool save(camitk::Component *) const;

    /// this method returns true as this component loads images from a directory (not a single file)
    virtual bool hasDataDirectory() const;

protected:
    /// Destructor
    virtual ~DicomComponentExtension() {}

private:
    /// Last opened component. When opening the directory, create 1 component per files
    /// Return at least one for the application to know it manages to open the files
    camitk::Component* lastOpenedComponent;

    /// The dialog that asks the user which dicom image files he wishes to open
    DicomDialog* dialog;

    /// The different Dicom SERIES parsed
    QList<DicomSerie*> serieParsed;

    /// The series dialog entries representation in the VIEW
    QList<DicomDialogEntry*> serieDialogEntries;

};

#endif // DICOMCOMPONENTEXTENSION