Skip to content

Commit bd2cfa0

Browse files
committed
Merge branch 'fix-windows'
2 parents 69f722a + bb66384 commit bd2cfa0

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

Modules/FiberDissection/MachineLearning/mitkStreamlineFeatureExtractor.cpp

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -592,31 +592,28 @@ void StreamlineFeatureExtractor::TrainModel()
592592
/* Create Trainingdata: Go through positive and negative Bundle and save distances as cv::Mat and create vector with labels */
593593
for (int i = 0; i < static_cast<int>(m_DistancesPlus.size()); i++)
594594
{
595-
float data_arr[m_DistancesPlus.at(0).size()];
596-
597595
labels_arr_vec.push_back(1);
598596

597+
cv::Mat curdata(1, m_DistancesPlus.at(0).size(), CV_32F);
599598
for (int j = 0; j < static_cast<int>(m_DistancesPlus.at(0).cols()); j++)
600599
{
601-
data_arr[j] = m_DistancesPlus.at(i).get(0, j);
600+
curdata.at<float>(0,j) = m_DistancesPlus.at(i).get(0, j);
602601
}
603-
cv::Mat curdata(1, m_DistancesPlus.at(0).size(), CV_32F, data_arr);
604602
data.push_back(curdata);
605603
size_plus++;
606604
}
607605

608606
for (int i = static_cast<int>(m_DistancesPlus.size()); i < static_cast<int>(m_DistancesPlus.size() + m_DistancesMinus.size()); i++)
609607
{
610608
int it = i - size_plus;
611-
float data_arr[m_DistancesMinus.at(0).size()];
612609

613610
labels_arr_vec.push_back(0);
614611

612+
cv::Mat curdata(1, m_DistancesMinus.at(0).size(), CV_32F);
615613
for (int j = 0; j < static_cast<int>(m_DistancesMinus.at(0).cols()); j++)
616614
{
617-
data_arr[j] = m_DistancesMinus.at(it).get(0, j);
615+
curdata.at<float>(0, j) = m_DistancesMinus.at(it).get(0, j);
618616
}
619-
cv::Mat curdata(1, m_DistancesPlus.at(0).size(), CV_32F, data_arr);
620617
data.push_back(curdata);
621618
}
622619

@@ -695,17 +692,13 @@ std::vector<std::vector<unsigned int>> StreamlineFeatureExtractor::Predict()
695692
{
696693
std::vector<std::vector<unsigned int>> index_vec;
697694
/*Create Dataset as cv::Mat*/
698-
cv::Mat dataTest;
695+
cv::Mat dataTest(myindex.size(), m_DistancesTest.at(0).size(), CV_32F);
699696
for (unsigned int i = 0; i < myindex.size(); i++)
700697
{
701-
float data_arr[m_DistancesTest.at(0).size()];
702-
703698
for (unsigned int j = 0; j < m_DistancesTest.at(myindex.at(0)).cols(); j++)
704699
{
705-
data_arr[j] = m_DistancesTest.at(myindex.at(i)).get(0, j);
700+
dataTest.at< float >(i,j) = m_DistancesTest.at(myindex.at(i)).get(0, j);
706701
}
707-
cv::Mat curdata(1, m_DistancesTest.at(myindex.at(0)).size(), CV_32F, data_arr);
708-
dataTest.push_back(curdata);
709702
}
710703

711704
std::vector<unsigned int> indexPrediction;
@@ -716,7 +709,7 @@ std::vector<std::vector<unsigned int>> StreamlineFeatureExtractor::Predict()
716709
/*For every Sample/Streamline get Prediction and entropy (=based on counts of Random Forest)*/
717710
MITK_INFO << "Predicting on all cores";
718711
#pragma omp parallel for
719-
for (unsigned int i = 0; i < myindex.size(); i++)
712+
for (int i = 0; i < static_cast<int>(myindex.size()); i++)
720713
{
721714
int val = statistic_model->predict(dataTest.row(i));
722715
pred.at(i) = val;

Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionView.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,9 @@ void QmitkInteractiveFiberDissectionView::ResampleTractogram()
296296
{
297297
myvec.push_back(k);
298298
}
299-
std::random_shuffle(std::begin(myvec), std::end(myvec));
299+
std::random_device rd;
300+
std::mt19937 g(rd());
301+
std::shuffle(std::begin(myvec), std::end(myvec), g);
300302

301303
vtkSmartPointer<vtkPolyData> vNewPolyData = vtkSmartPointer<vtkPolyData>::New();
302304
vtkSmartPointer<vtkCellArray> vNewLines = vtkSmartPointer<vtkCellArray>::New();

0 commit comments

Comments
 (0)