Fix ExtendMedicalImageProperties SetFileNames & GetFileNames buf.
This commit is contained in:
@@ -174,7 +174,7 @@ void DICOMDirectoryHelper::Update() {
|
||||
}
|
||||
);
|
||||
if (iterator < seriesProperties.end()){
|
||||
auto files = (*iterator)->GetFileNames();
|
||||
std::vector<std::string> files;
|
||||
std::vector<DICOMFileRefValue> vector;
|
||||
for (auto f : pair.second) {
|
||||
vector.emplace_back(std::move(f.second));
|
||||
@@ -185,9 +185,10 @@ void DICOMDirectoryHelper::Update() {
|
||||
(v1.AcquisitionNumber != v2.AcquisitionNumber ? (v1.AcquisitionNumber < v2.AcquisitionNumber) :
|
||||
(v1.InstanceNumber < v2.InstanceNumber));
|
||||
});
|
||||
std::for_each(vector.begin(), vector.end(),[=](auto v){
|
||||
files->emplace_back(std::move(v.FilePath));
|
||||
std::for_each(vector.begin(), vector.end(),[&](auto v){
|
||||
files.emplace_back(std::move(v.FilePath));
|
||||
});
|
||||
(*iterator)->SetFileNames(files);
|
||||
readImageProperty(*iterator);
|
||||
}
|
||||
}
|
||||
@@ -219,11 +220,11 @@ void DICOMDirectoryHelper::Clear() {
|
||||
}
|
||||
|
||||
void DICOMDirectoryHelper::readImageProperty(ExtendMedicalImageProperties* property) {
|
||||
std::vector<std::string> *files = property->GetFileNames();
|
||||
const std::vector<std::string>& files = property->GetFileNames();
|
||||
DcmFileFormat file1;
|
||||
// read success!
|
||||
std::cout<<files->at(0)<<std::endl;
|
||||
if (file1.loadFile(files->at(0)).good()) {
|
||||
std::cout<<files.at(0)<<std::endl;
|
||||
if (file1.loadFile(files.at(0)).good()) {
|
||||
DcmDataset *dataset = file1.getDataset();
|
||||
|
||||
std::string SeriesUID;
|
||||
@@ -276,10 +277,10 @@ void DICOMDirectoryHelper::readImageProperty(ExtendMedicalImageProperties* prope
|
||||
vtkMatrix4x4::Invert(matrix, property->GetWorldToModelMatrix() );
|
||||
matrix = property->GetWorldToModelMatrix();
|
||||
DcmFileFormat file2;
|
||||
std::cout<<files->at(1)<<std::endl;
|
||||
std::cout<<files.at(1)<<std::endl;
|
||||
|
||||
// read success!
|
||||
if (file2.loadFile(files->at(1)).good()) {
|
||||
if (file2.loadFile(files.at(1)).good()) {
|
||||
DcmDataset *dataset = file2.getDataset();
|
||||
std::string SeriesUID;
|
||||
dataset->findAndGetOFString(DcmTagKey(0x0020, 0x000e), SeriesUID);
|
||||
|
||||
@@ -131,7 +131,7 @@ SeriesImageSet* DicomLoader::getSeriesImageSet(const std::string& uniqueID)//, D
|
||||
});
|
||||
if (iter==imageProperties.end()) return nullptr;
|
||||
|
||||
reader->SetFileNames(*(*iter)->GetFileNames());
|
||||
reader->SetFileNames((*iter)->GetFileNames());
|
||||
reader->Update();
|
||||
auto imageData = reader->GetOutput();
|
||||
SeriesImageSet* result = new SeriesImageSet((*iter),imageData);
|
||||
|
||||
@@ -39,8 +39,8 @@ public:
|
||||
vtkSetVector3Macro(Position,double);
|
||||
vtkGetVector3Macro(Position,double);
|
||||
|
||||
std::vector<std::string>* GetFileNames(){
|
||||
return &FileNames;
|
||||
const std::vector<std::string>& GetFileNames(){
|
||||
return FileNames;
|
||||
}
|
||||
|
||||
void SetFileNames(std::vector<std::string>& files){
|
||||
@@ -56,7 +56,7 @@ public:
|
||||
|
||||
void SetSeriesNumber(long value){
|
||||
char buffer [sizeof(long)*8+1];
|
||||
const char* s = ltoa(value, buffer, 10);
|
||||
const char* s = _ltoa(value, buffer, 10);
|
||||
vtkMedicalImageProperties::SetSeriesNumber(s);
|
||||
}
|
||||
|
||||
|
||||
@@ -1361,7 +1361,7 @@ void infinitiViewer::initCornerInfo(ExtendMedicalImageProperties* pSeries)
|
||||
}
|
||||
|
||||
char buffer[sizeof(long) * 8 + 1];
|
||||
const char* s = ltoa(pSeries->GetFileNames()->size(), buffer, 10);
|
||||
const char* s = ltoa(pSeries->GetFileNames().size(), buffer, 10);
|
||||
m_cornerInfo.ConstAnno[TOP_LEFT].clear();
|
||||
m_cornerInfo.ConstAnno[TOP_LEFT].append(buffer);
|
||||
m_cornerInfo.ConstAnno[TOP_LEFT].append(" ");
|
||||
|
||||
Reference in New Issue
Block a user