32 void ProgOddEven::readParams()
42 void ProgOddEven::defineParams()
44 addUsageLine(
"This function splits a set of images or frames in two subsets named odd and even");
45 addParamsLine(
" --img <img_file=\"\"> : File of input images (movie or images tilt series)");
49 addParamsLine(
"[ --sum_frames] : Sum the set of split frames");
50 addParamsLine(
" -o <img_file=\"\"> : File of odd images/frames)");
51 addParamsLine(
" -e <img_file=\"\"> : File of even images/frames)");
55 void ProgOddEven::fromimageToMd(
FileName fnImg,
MetaData &movienew,
size_t &Xdim,
size_t &Ydim)
67 for (
size_t i = 0;
i < Ndim;
i++)
76 void ProgOddEven::run()
78 std::cout <<
"Starting..." << std::endl;
79 size_t Xdim = 0, Ydim = 0;
80 if ((splitType !=
"frames") and (splitType !=
"images"))
82 std::cout <<
"ERROR: Please specify the type of splitting in frames or images" << std::endl;
83 std::cout <<
" --type frames for splitting the set of frames or --type images for splitting" 84 "the set of images" << std::endl;
90 if (splitType ==
"frames")
98 fromimageToMd(fnImg, movienew, Xdim, Ydim);
102 if (splitType ==
"images")
104 fromimageToMd(fnImg, movienew, Xdim, Ydim);
111 size_t objId_odd, objId_even;
121 for (
size_t objId : movienew.
ids())
135 for (
size_t i =0;
i<Ydim;++
i)
137 for (
size_t j =0;
j<Xdim;++
j)
150 for (
size_t i =0;
i<Ydim;++
i)
152 for (
size_t j =0;
j<Xdim;++
j)
161 movieOdd.
write(fnOut_odd);
162 movieEven.
write(fnOut_even);
#define DIRECT_A2D_ELEM(v, i, j)
void write(const FileName &name="", size_t select_img=ALL_IMAGES, bool isStack=false, int mode=WRITE_OVERWRITE, CastWriteMode castMode=CW_CAST, int _swapWrite=0)
void compose(const String &str, const size_t no, const String &ext="")
String getExtension() const
const char * getParam(const char *param, int arg=0)
void getDimensions(size_t &Xdim, size_t &Ydim, size_t &Zdim, size_t &Ndim) const
bool isMetaData(bool failIfNotExists=true) const
FileName withoutExtension() const
bool checkParam(const char *param)
int read(const FileName &name, DataMode datamode=DATA, size_t select_img=ALL_IMAGES, bool mapData=false, int mode=WRITE_READONLY)
void addUsageLine(const char *line, bool verbatim=false)
void initZeros(const MultidimArray< T1 > &op)
int read(const FileName &name, DataMode datamode=DATA, size_t select_img=ALL_IMAGES, bool mapData=false)
void addParamsLine(const String &line)