File: fileio_opts.cpp

package info (click to toggle)
odin 2.0.5-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,196 kB
  • sloc: cpp: 62,638; sh: 4,541; makefile: 779
file content (96 lines) | stat: -rw-r--r-- 3,954 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include "fileio_opts.h"
#include "fileio.h"



FileReadOpts::FileReadOpts() {

  format.add_item(AUTODETECTSTR);
  svector formats(FileIO::autoformats());
  for(unsigned int i=0; i<formats.size(); i++) format.add_item(formats[i]);
  format.set_actual(0);
  format.set_cmdline_option("rf").set_description("Read format, use it to override file extension");
  append_member(format,"format");

  ldr="";
  ldr.set_cmdline_option("ldr").set_description("If multiple LDR (labeled data record) arrays are present, select this");
  append_member(ldr,"ldr");


  cplx.add_item(ODIN_NONE_STR);
  cplx.add_item("abs");
  cplx.add_item("pha");
  cplx.add_item("real");
  cplx.add_item("imag");
  cplx.set_actual(0);
  cplx.set_cmdline_option("cplx").set_description("Treat data as complex and extract the given component");
  append_member(cplx,"cplx");

  skip=false;
  skip.set_cmdline_option("skip").set_description("Skip this amount of bytes before reading the raw data");
  append_member(skip,"skip");

  dset.set_cmdline_option("ds").set_description("Dataset index to extract if multiple datasets are read");
  append_member(dset,"dset");

  filter.set_cmdline_option("filter").set_description("Read only those datasets which protocol parameter 'key' contains the string 'value' (given in the format 'key=value')");
  append_member(filter,"filter");

  dialect.set_cmdline_option("rdialect").set_description("Read data using given dialect of the format (default is no dialect)");
  append_member(dialect,"rdialect");

  fmap=false;
  fmap.set_cmdline_option("fmap").set_description("For reduced memory usage, keep filemapping after reading (raw) data, but writing into the array will result in a crash");
  append_member(fmap,"fmap");

  framesplit=false;
  framesplit.set_cmdline_option("framesplit").set_description("Force splitting frames with different acquisition times into separate protocol-data pairs");
  append_member(framesplit,"framesplit");
}

//////////////////////////////////////////////////////////////

FileWriteOpts::FileWriteOpts() {

  format.add_item(AUTODETECTSTR);
  svector formats(FileIO::autoformats());
  for(unsigned int i=0; i<formats.size(); i++) format.add_item(formats[i]);
  format.set_actual(0);
  format.set_cmdline_option("wf").set_description("Write format, use it to override file extension");
  append_member(format,"format");

  noscale=false;
  noscale.set_cmdline_option("noscale").set_description("Do not rescale values when storing integers");
  append_member(noscale,"noscale");

  append=false;
  append.set_cmdline_option("append").set_description("Append to existing file, only for raw data");
  append_member(append,"append");

  wprot.set_cmdline_option("wp").set_description("Store the protocol separately to this file.");
  append_member(wprot,"wprot");


  split=false;
  split.set_cmdline_option("split").set_description("Force splitting of protocol-data pairs into separate files.");
  append_member(split,"split");

  dialect.set_cmdline_option("wdialect").set_description("Write data using given dialect of the format (default is no dialect)");
  append_member(dialect,"wdialect");

  datatype.add_item(AUTOTDATAYPESTR);
  datatype.add_item(TypeTraits::type2label((float)0));
  datatype.add_item(TypeTraits::type2label((double)0));
  datatype.add_item(TypeTraits::type2label((s32bit)0));
  datatype.add_item(TypeTraits::type2label((u32bit)0));
  datatype.add_item(TypeTraits::type2label((s16bit)0));
  datatype.add_item(TypeTraits::type2label((u16bit)0));
  datatype.add_item(TypeTraits::type2label((s8bit)0));
  datatype.add_item(TypeTraits::type2label((u8bit)0));
  datatype.set_actual(0);
  datatype.set_cmdline_option("type").set_description("Image representation type");
  append_member(datatype,"type");

  fnamepar.set_cmdline_option("fnamepar").set_description("Space-separated list of protocol parameters to include when creating unique file names");
  append_member(fnamepar,"fnamepar");
}