23 #include "SamplingSchemeQSpaceIMOCEstimationCLP.h" 30 main (
int argc,
char const* argv[])
36 typedef SamplingType::Pointer SamplingPointer;
38 EstimationType::Pointer estimator = EstimationType::New();
40 utlGlobalException(_NumberOfSamples.size()==0,
"should give the numbers of samples in shells");
41 EstimationType::IndexVectorType numbers(_NumberOfSamples.size());
42 for (
unsigned int i = 0; i < _NumberOfSamples.size(); i += 1 )
43 numbers[i] = _NumberOfSamples[i];
45 EstimationType::MatrixPointer fineOrientations(
new EstimationType::MatrixType());
47 estimator->SetDebug(_Debug);
48 estimator->SetNumbersInShell(numbers);
49 estimator->SetTessellationOrder(_Order);
50 if(_FineOrientationsArg.isSet())
53 estimator->SetFineOrientations(fineOrientations);
55 estimator->SetWeightForSingleShell(_Weight);
56 estimator->SetAngleMinChange(_MinChange);
57 estimator->SetChooseMinimalCoverageShell(
true);
61 estimator->UpdateOutputData();
63 std::cout <<
"Elapsed time : " << clock.GetTotal() << std::endl;
65 SamplingPointer output = estimator->GetOutputOrientations();
69 WriterType::Pointer writer = WriterType::New();
70 writer->SetSampling(output);
71 writer->SetOrientationFile(_OutputOrientations);
72 writer->SaveSingleShellOn();
73 writer->SaveAllShellsInOneFileOff();
Estimation of single/multi-shell orientations using Iterative Maximum Overlap Construction (IMOC) ...
helper functions specifically used in dmritool
int main(int argc, char const *argv[])
incrementatl estimation for single and multiple shell sampling scheme
#define utlGlobalException(cond, expout)
this class describes sampling in Q space.
write orientations and b values (single/multiple shells) into text files