Commit 9b766f1f95ba972e641d3f787fa98ba4cbfd5da7

Authored by Pavel Govyadinov
1 parent 1a224b6a

completed merge fixes, fixed linux filelist problems

stim/cuda/branch_detection.cuh
... ... @@ -7,7 +7,7 @@
7 7 #include <stim/cuda/cuda_texture.cuh>
8 8 #include <stim/cuda/filter.cuh>
9 9 typedef unsigned int uint;
10   -typedef unsigned int uchar;
  10 +//typedef unsigned int uchar;
11 11  
12 12  
13 13 std::vector< stim::vec<float> >
... ...
stim/cuda/spider_cost.cuh
... ... @@ -3,7 +3,7 @@
3 3  
4 4 #include <assert.h>
5 5 #include <cuda.h>
6   -#include <cuda_runtime.h>
  6 +//#include <cuda_runtime.h>
7 7 #include <stdio.h>
8 8 #include <stim/visualization/colormap.h>
9 9 #include <sstream>
... ...
stim/grids/image_stack.h
... ... @@ -68,7 +68,7 @@ public:
68 68 stim::image<T> I(file_list[i].str());
69 69  
70 70 //retrieve the interlaced data from the image - store it in the grid
71   - I.data_interleaved(&ptr[ i * R[0] * R[1] * R[2] ]);
  71 + I.get_interleaved_rgb(&ptr[ i * R[0] * R[1] * R[2] ]);
72 72  
73 73 }
74 74 }
... ...
stim/image/image.h
... ... @@ -148,7 +148,7 @@ public:
148 148 if(C() == 1)
149 149 memcpy(buffer, img, bytes());
150 150 else if(C() == 3)
151   - data_interleaved_bgr(buffer);
  151 + get_interleaved_bgr(buffer);
152 152 cv::Mat cvImage((int)Y(), (int)X(), cv_type(), buffer);
153 153 cv::imwrite(filename, cvImage);
154 154 }
... ... @@ -170,7 +170,7 @@ public:
170 170 }
171 171 }
172 172  
173   - void data_interleaved_bgr(T* data){
  173 + void get_interleaved_bgr(T* data){
174 174  
175 175 //for each channel
176 176 for(size_t y = 0; y < Y(); y++){
... ... @@ -182,6 +182,11 @@ public:
182 182 }
183 183 }
184 184  
  185 + void get_interleaved_rgb(T* data){
  186 + memcpy(data, img, bytes());
  187 + }
  188 +
  189 +
185 190 image<T> channel(size_t c){
186 191  
187 192 //create a new image
... ...
stim/math/circle.h
... ... @@ -175,5 +175,4 @@ public:
175 175  
176 176 };
177 177 }
178   ->>>>>>> origin/Master_Clone_W_Branch
179 178 #endif
... ...
stim/parser/filename.h
... ... @@ -22,6 +22,9 @@
22 22 #include <iostream>
23 23  
24 24 #include "../parser/parser.h"
  25 +#ifdef BOOST_PRECOMPILED
  26 +#include <boost/filesystem.hpp>
  27 +#endif
25 28 namespace stim{
26 29  
27 30 //filename class designed to work with both Windows and Unix
... ... @@ -234,8 +237,40 @@ public:
234 237 }
235 238 return file_list;
236 239 #else
237   - std::cout<<"File lists aren't currently supported on Unix/Linux systems."<<std::endl;
238   - exit(1);
  240 +
  241 + boost::filesystem::path p(dir()); //create a path from the current filename
  242 + std::vector<stim::filename> file_list;
  243 + if(boost::filesystem::exists(p)){
  244 + if(boost::filesystem::is_directory(p)){
  245 + typedef std::vector<boost::filesystem::path> vec; // store paths,
  246 + vec v; // so we can sort them later
  247 + std::copy(boost::filesystem::directory_iterator(p), boost::filesystem::directory_iterator(), back_inserter(v));
  248 + std::sort(v.begin(), v.end()); // sort, since directory iteration
  249 + // is not ordered on some file systems
  250 + //compare file names to the current template (look for wild cards)
  251 + for (vec::const_iterator it(v.begin()), it_end(v.end()); it != it_end; ++it)
  252 + {
  253 + //if the filename is a wild card *or* it matches the read file name
  254 + if( prefix == "*" || prefix == (*it).filename().stem().string()){
  255 + //if the extension is a wild card *or* it matches the read file extension
  256 + if( ext == "*" || "." + ext == (*it).filename().extension().string()){
  257 + file_list.push_back((*it).string()); //include it in the final list
  258 + }
  259 +
  260 + }
  261 +
  262 +
  263 +
  264 + }
  265 +
  266 + }
  267 +
  268 + }
  269 + return file_list;
  270 +
  271 +
  272 +// std::cout<<"File lists aren't currently supported on Unix/Linux systems."<<std::endl;
  273 +// exit(1);
239 274 #endif
240 275 }
241 276 //**************************************************************************************************
... ...
stim/visualization/cylinder.h
... ... @@ -164,7 +164,7 @@ class cylinder
164 164 ///Returns the number of points on the cylinder centerline
165 165  
166 166 unsigned int size(){
167   - return pos.size();
  167 + return e.size();
168 168 }
169 169  
170 170  
... ... @@ -231,7 +231,7 @@ class cylinder
231 231 /// Adds a new magnitude value to all points
232 232 /// @param m is the starting value for the new magnitude
233 233 void add_mag(T m = 0){
234   - for(unsigned int p = 0; p < pos.size(); p++)
  234 + for(unsigned int p = 0; p < e.size(); p++)
235 235 mags[p].push_back(m);
236 236 }
237 237  
... ... @@ -317,7 +317,7 @@ class cylinder
317 317 T len = L[0]; //allocate space for the segment length
318 318  
319 319 //for every consecutive point in the cylinder
320   - for(unsigned p = 1; p < pos.size(); p++){
  320 + for(unsigned p = 1; p < e.size(); p++){
321 321  
322 322 //p1 = pos[p]; //get the position and magnitude for the next point
323 323 m1 = mags[p][m];
... ... @@ -347,7 +347,7 @@ class cylinder
347 347  
348 348 std::vector< vec<T> > result;
349 349  
350   - vec<T> p0 = e[i].P; //initialize p0 to the first point on the centerline
  350 + vec<T> p0 = e[0].P; //initialize p0 to the first point on the centerline
351 351 vec<T> p1;
352 352 unsigned N = size(); //number of points in the current centerline
353 353  
... ...
stim/visualization/obj.h
... ... @@ -158,6 +158,7 @@ protected:
158 158 using std::vector<triplet>::size;
159 159 using std::vector<triplet>::at;
160 160 using std::vector<triplet>::push_back;
  161 + using std::vector<triplet>::resize;
161 162  
162 163 geometry(){}
163 164  
... ...