This file is indexed.

/usr/include/camitk-4.0/components/dicom/DicomParser.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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*****************************************************************************
 * $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 DICOMPARSER_H
#define DICOMPARSER_H

// CamiTK includes
#include <DicomSerie.h>

// Qt includes
#include <QMap>
#include <QList>
#include <QString>

// C++ includes
#include <stdlib.h>
#include <vector>


/**
 * @ingroup group_cepimaging_components_dicom
 *
 * @brief DicomParser allows one to parse a directory of DICOM files looking for studies and series
 *
 * @note This class is part of the model (in the MVP pattern) of the DICOM COMPONENT
 *
 */
class DicomParser {

public:

    DicomParser() {};

    /// Default Destructor
    virtual ~DicomParser() {};

    /**
     * @brief Parse the input directory for DICOM series.
     * @param directory The input directory to parse DICOM image files.
     * @return A list of DicomSerie, high level CamiTK object which store information of a SERIES
     */
    static QList<DicomSerie*> parseDirectory(const QString & directory);

    /**
     * @brief Retrieve the DICOM image file Z spacing attribute (commonly known as spacing between slices)
     * @param serieFileNames the input DICOM image images to retrieve the Z spacing attribute from.
     * @return the Z spacing value.
     */
    static double getZSpacing(const std::vector<std::string> & serieFileNames);

private:
    /**
     * @brief Convert a simple std list of string into a QList of QString.
     * @param inputList std list of string to convert.
     * @return QList of QString version of the input std list.
     */
    static QList<QString> stdListOfStringToQt(const std::vector< std::string > & inputList);

    /**
     * @brief Convert a QList of QString into a std list of string.
     * @param inputList QList of QString to convert.
     * @return std list of string version of the input Qt list.
     */
    static std::vector< std::string > qtListOfStringToStd(const QList<QString> & inputList);

    /**
     * @brief Retrieve the SERIES acquisition date.
     * @param serieFileNames The filenames belonging to a single series.
     * @return the acquisition date of this SERIES.
     */
    static QDate getAcquisitionDate(const std::vector<std::string> & serieFileNames);

    /**
     * @brief Retrieve the SERIES acquisition time.
     * @param serieFileNames The filenames belonging to a single series.
     * @return the acquisition time of this SERIES.
     */
    static QTime getAcquisitionTime(const std::vector<std::string> & serieFileNames);

    /**
     * @brief Retrieve the patient name information from the input files.
     * @param serieFileNames The filenames belonging to a single series.
     * @return the patient name.
     */
    static QString getPatientName(const std::vector<std::string> & serieFileNames);

    /**
     * @brief Retrieve the series name.
     * @param serieFileNames The filenames belonging to a single series.
     * @return the series name.
     */
    static QString getSerieName(const std::vector<std::string> & serieFileNames);

    /**
     * @brief Retrieve the series description.
     * @param serieFileNames The filenames belonging to a single series.
     * @return the series description.
     */
    static QString getSerieDescription(const std::vector<std::string> & serieFileNames);

    /**
     * @brief Retrieve the study name.
     * @param serieFileNames The filenames belonging to a single series.
     * @return the study name.
     */
    static QString getStudyName(const std::vector<std::string> & serieFileNames);

};

#endif // DICOMPARSER_H