DGtalTools 2.0.0
Loading...
Searching...
No Matches
HDF52vol.cpp
1
28#include <iostream>
29#include <DGtal/base/Common.h>
30#include <DGtal/io/readers/HDF5Reader.h>
31#include <DGtal/io/writers/VolWriter.h>
32#include <DGtal/helpers/StdDefs.h>
33#include <DGtal/images/Image.h>
34#include <DGtal/images/ImageContainerBySTLVector.h>
35
36#include "CLI11.hpp"
37
38
39using namespace std;
40using namespace DGtal;
41using namespace Z3i;
42
43
81void missingParam ( std::string param )
82{
83 trace.error() <<" Parameter: "<<param<<" is required..";
84 trace.info() <<std::endl;
85 exit ( 1 );
86}
87
88
89int main(int argc, char**argv)
90{
91
92// parse command line using CLI ----------------------------------------------
93 CLI::App app;
94 std::string inputFileName;
95 std::string outputFileName {"result.vol"};
96
97 app.description("Convert a 3D 8-bit HDF5 file to vol.");
98 app.add_option("-i,--input,1", inputFileName, "Input HDF5 file." )
99 ->required()
100 ->check(CLI::ExistingFile);
101 app.add_option("-o,--output,2", outputFileName, "Output vol filename." );
102
103 app.get_formatter()->column_width(40);
104 CLI11_PARSE(app, argc, argv);
105 // END parse command line using CLI ----------------------------------------------
106
107 typedef ImageContainerBySTLVector<Z3i::Domain, unsigned char> MyImageC;
108
109 MyImageC imageC = HDF5Reader< MyImageC >::importHDF5_3D( inputFileName, "/UInt8Array3D" );
110 bool res = VolWriter< MyImageC>::exportVol(outputFileName, imageC);
111
112 if (res)
113 return EXIT_SUCCESS;
114 else
115 {
116 trace.error()<< "Error while exporting the volume."<<std::endl;
117 return EXIT_FAILURE;
118 }
119}
Definition ATu0v1.h:57