DGtalTools 2.1.0
Loading...
Searching...
No Matches
raw2vol.cpp
1
28#include <iostream>
29#include <DGtal/base/Common.h>
30#include <DGtal/io/readers/RawReader.h>
31#include <DGtal/io/writers/VolWriter.h>
32#include <DGtal/io/readers/VolReader.h>
33#include <DGtal/io/writers/RawWriter.h>
34#include <DGtal/helpers/StdDefs.h>
35#include "DGtal/io/colormaps/GrayscaleColorMap.h"
36#include <DGtal/images/Image.h>
37#include <DGtal/images/ImageContainerBySTLVector.h>
38
39#include "CLI11.hpp"
40
41using namespace std;
42using namespace DGtal;
43using namespace Z3i;
44
45
87void missingParam ( std::string param )
88{
89 trace.error() <<" Parameter: "<<param<<" is required..";
90 trace.info() <<std::endl;
91 exit ( 1 );
92}
93
94
95int main(int argc, char**argv)
96{
97
98
99// parse command line using CLI ----------------------------------------------
100 CLI::App app;
101 std::string inputFileName;
102 std::string outputFileName {"result.vol"};
103 unsigned int x, y, z;
104 app.description("Converts a 8-bit raw file to vol.\n Basic example:\n \t raw2vol <RawFileName> <VolOutputFileName> -x 128 -y 128 -z 128");
105 app.add_option("-i,--input,1", inputFileName, "Input raw file." )
106 ->required()
107 ->check(CLI::ExistingFile);
108 app.add_option("-o,--output,2",outputFileName,"Output vol filename.");
109 app.add_option("--x,-x", x, "x extent." )
110 ->required();
111 app.add_option("--y,-y", y, "y extent." )
112 ->required();
113 app.add_option("--z,-z", z, "z extent." )
114 ->required();
115
116
117 app.get_formatter()->column_width(40);
118 CLI11_PARSE(app, argc, argv);
119 // END parse command line using CLI ----------------------------------------------
120
121
122 typedef ImageContainerBySTLVector<Z3i::Domain, unsigned char> MyImageC;
123 MyImageC imageC = RawReader< MyImageC >::importRaw8 ( inputFileName, Z3i::Vector(x,y,z));
124 bool res = VolWriter< MyImageC>::exportVol(outputFileName, imageC);
125
126 if (res)
127 return EXIT_SUCCESS;
128 else
129 {
130 trace.error()<< "Error while exporting the volume."<<std::endl;
131 return EXIT_FAILURE;
132 }
133}
Definition ATu0v1.h:57