126
127
("info", "show file info")
127
128
("starttime,s", po::value<std::string>(&startTimeString), "start time in HHMM or HHMMSS format")
128
129
("endtime,e", po::value<std::string>(&endTimeString), "end time in HHMM or HHMMSS format")
130
("start", po::value<int>(&startIndex)->default_value(0), "start index")
131
("end", po::value<int>(&endIndex)->default_value(-1), "end index")
129
132
#ifdef HAVE_BOOST_ACCUMULATORS_ACCUMULATORS_HPP
130
133
("mode", po::value<std::string>(&mode)->default_value(mode), "data mode [default, statistics, histogram]")
169
172
if (vm.count("info")) {
170
173
bo::data::EventsFile eventsFile(file);
175
const bo::data::EventsHeader& header = eventsFile.getHeader();
172
177
bo::data::Events::AP start(eventsFile.read(0,1));
173
178
bo::data::Events::AP end(eventsFile.read(-1,1));
175
180
std::cout << getTimestampString(start->front()) << " " << 0 << std::endl;
176
std::cout << getTimestampString(end->front()) << " " << eventsFile.getHeader().getNumberOfEvents() << std::endl;
177
std::cout << eventsFile.getHeader().getNumberOfEvents() << std::endl;;
181
std::cout << getTimestampString(end->front()) << " " << header.getNumberOfEvents() << std::endl;
183
const bo::data::Format::CP format = header.getDataFormat();
184
std::cout << format->getNumberOfBitsPerSample() << " bits, " << format->getNumberOfChannels() << " channels, " << format->getNumberOfSamples() << " samples" << std::endl;;
183
pt::time_duration startTime(pt::not_a_date_time);
184
if (vm.count("starttime")) {
185
startTime = parseTime(startTimeString);
188
pt::time_duration endTime(pt::not_a_date_time);
189
if (vm.count("endtime")) {
190
endTime = parseTime(endTimeString, true);
193
189
bo::data::Events events;
195
events.readFromFile(file, startTime, endTime);
191
if (vm.count("starttime") || vm.count("endtime")) {
192
pt::time_duration startTime(pt::not_a_date_time);
193
if (vm.count("starttime")) {
194
startTime = parseTime(startTimeString);
197
pt::time_duration endTime(pt::not_a_date_time);
198
if (vm.count("endtime")) {
199
endTime = parseTime(endTimeString, true);
202
events.readFromFile(file, startTime, endTime);
204
events.readFromFile(file, startIndex, endIndex);
197
207
void (*eventOperation)(const bo::data::Event&);