X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvQDicomSeriesSelector.cxx;h=d5444cdbe5b168317880b97895b8f741f7379045;hb=c99626f17e07dbde440eb40a25683ce441a49a6e;hp=f86efc28d769535c96872914426bb6c8e05a1456;hpb=a93034ff4e0f345e9d633bcb284b5ab5c7fd1bea;p=clitk.git diff --git a/vv/vvQDicomSeriesSelector.cxx b/vv/vvQDicomSeriesSelector.cxx index f86efc2..d5444cd 100644 --- a/vv/vvQDicomSeriesSelector.cxx +++ b/vv/vvQDicomSeriesSelector.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,13 +14,13 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef VVDICOMSERIESSELECTOR_CXX #define VVDICOMSERIESSELECTOR_CXX #include #include #include -#if GDCM_MAJOR_VERSION == 2 +#if GDCM_MAJOR_VERSION >= 2 #include #include #include @@ -58,6 +58,8 @@ vvDicomSeriesSelector::vvDicomSeriesSelector(QWidget* parent) this, SLOT(itemSelectionChanged())); connect(ui.mDicomDetailsListWidget, SIGNAL(itemSelectionChanged()), this, SLOT(itemDetailsSelectionChanged())); + connect(ui.mIsMatrixCheckBox, SIGNAL(stateChanged(int)), + this, SLOT(itemMatrixSelectionChanged(int))); // Initialization /* if (config::get_current_path() != QString(0)) @@ -67,6 +69,8 @@ vvDicomSeriesSelector::vvDicomSeriesSelector(QWidget* parent) mPreviousPath = mFoldername; ui.mFolderLineEdit->setText(mFoldername); + ui.mIsMatrixCheckBox->setChecked(0); + mPatientCoordinateSystem = false; // ui.mTableWidget->setRowCount(0); } //==================================================================== @@ -94,8 +98,12 @@ void vvDicomSeriesSelector::close() void vvDicomSeriesSelector::BrowseButtonRelease() { QFileDialog dialog(this); + QStringList filters; + filters << "DICOM files (*.dcm)" + << "All files (*)"; dialog.setFileMode(QFileDialog::AnyFile); - dialog.setFilter("DICOM files (*.dcm); All files (*)"); + dialog.setNameFilters(filters); + //dialog.setFilter(tr("DICOM files (*.dcm); All files (*)")); mFoldername = dialog.getExistingDirectory(this, "Select a folder to find DICOM image", mPreviousPath); @@ -136,7 +144,7 @@ void vvDicomSeriesSelector::SearchButtonRelease() mListOfSeriesFilenames[seriesUID[i]] = filenames; // store first header -#if GDCM_MAJOR_VERSION == 2 +#if GDCM_MAJOR_VERSION >= 2 mDicomHeader[seriesUID[i]].SetFileName( (*filenames)[0].c_str() ); mDicomHeader[seriesUID[i]].Read(); #else @@ -225,10 +233,10 @@ void vvDicomSeriesSelector::itemDetailsSelectionChanged() if (isize()) { if (mDicomDetails[(*mFilenames)[i]] == "") { std::ostringstream s; - mDicomHeader[mCurrentSerie].GetFile().Print(s); - QString l; -#if GDCM_MAJOR_VERSION == 2 + +#if GDCM_MAJOR_VERSION >= 2 + mDicomHeader[mCurrentSerie].GetFile().Print(s); const gdcm::File& header = mDicomHeader[mCurrentSerie].GetFile(); gdcm::StringFilter sf; sf.SetFile( header ); @@ -255,6 +263,7 @@ void vvDicomSeriesSelector::itemDetailsSelectionChanged() } } #else + mDicomHeader[mCurrentSerie]->Print(s); gdcm::File * header = mDicomHeader[mCurrentSerie]; gdcm::DocEntry * e = header->GetFirstEntry(); while (e) { @@ -275,7 +284,7 @@ void vvDicomSeriesSelector::itemDetailsSelectionChanged() //==================================================================== //==================================================================== -#if GDCM_MAJOR_VERSION == 2 +#if GDCM_MAJOR_VERSION >= 2 QString vvDicomSeriesSelector::MakeDicomInfo(std::string & s, const gdcm::Reader& header) { QString n = QString("%1").arg(mListOfSeriesFilenames[s]->size()); @@ -348,14 +357,14 @@ QString vvDicomSeriesSelector::MakeDicomInfo(std::string & s, gdcm::File *header //==================================================================== QString vvDicomSeriesSelector::AddInfo(const gdcm::File *header, QString n, uint16_t group, uint16_t elem) { -#if GDCM_MAJOR_VERSION == 2 +#if GDCM_MAJOR_VERSION >= 2 gdcm::StringFilter sf; sf.SetFile( *header ); gdcm::Tag t( group, elem ); std::string s = sf.ToString( t ); return AddInfo(n.toStdString(), s); #else - return AddInfo(n.toStdString(), header->GetEntryValue(group, elem)); + return AddInfo(n.toStdString(), const_cast(header)->GetEntryValue(group, elem)); #endif } //==================================================================== @@ -372,7 +381,7 @@ QString vvDicomSeriesSelector::AddInfo(std::string n, std::string m) //==================================================================== void vvDicomSeriesSelector::AddSerieToTheTable(int i, std::vector & filenames) { -#if GDCM_MAJOR_VERSION == 2 +#if GDCM_MAJOR_VERSION >= 2 #else gdcm::File *header = new gdcm::File(); header->SetFileName(filenames[0]); @@ -396,4 +405,13 @@ void vvDicomSeriesSelector::AddSerieToTheTable(int i, std::vector & } //==================================================================== + +//==================================================================== +void vvDicomSeriesSelector::itemMatrixSelectionChanged(int state) +{ + mPatientCoordinateSystem = state; +} +//==================================================================== + + #endif // VVDICOMSERIESSELECTOR_CXX