Commit b710cea43ee2c4f65950a8dabdeb9089d0591337
1 parent
616c5f99
fixed saving image stack bugs
Showing
1 changed file
with
6 additions
and
7 deletions
Show diff stats
... | ... | @@ -1826,7 +1826,7 @@ namespace stim { |
1826 | 1826 | cor_v = tmp_v + stim::vec3<T>(-coef_left * origin_l, 0, 0); // get the original corner vertex |
1827 | 1827 | desire_l = desire_l - origin_l * (1.0f - ratio / 1.0f); |
1828 | 1828 | origin_l = (T)origin_l * ratio / 1.0f; |
1829 | - n = find_number_square(origin_l, desire_l); | |
1829 | + n = find_number_square(origin_l, desire_l, times); | |
1830 | 1830 | |
1831 | 1831 | width = (T)origin_l / (2 * n); // updates |
1832 | 1832 | height = (desire_l - origin_l) / (2 * n); |
... | ... | @@ -1838,7 +1838,7 @@ namespace stim { |
1838 | 1838 | origin_l = tmp_l; |
1839 | 1839 | |
1840 | 1840 | std::cout << "Warning: current ratio is not feasible, use full original line." << std::endl; |
1841 | - n = find_number_square(origin_l, desire_l); | |
1841 | + n = find_number_square(origin_l, desire_l, times); | |
1842 | 1842 | |
1843 | 1843 | width = (T)origin_l / (2 * n); // updates |
1844 | 1844 | height = (desire_l - origin_l) / (2 * n); |
... | ... | @@ -1869,7 +1869,7 @@ namespace stim { |
1869 | 1869 | height = (desire_l - (1 + 2 * n) * origin_l) / std::pow(2 * n, 2); |
1870 | 1870 | } |
1871 | 1871 | |
1872 | - // degenerated case | |
1872 | + // degenerated case, compromise | |
1873 | 1873 | if (n == 0) { |
1874 | 1874 | n = 1; |
1875 | 1875 | width = (T)(origin_l) / (2 * n); |
... | ... | @@ -2666,12 +2666,12 @@ namespace stim { |
2666 | 2666 | } |
2667 | 2667 | |
2668 | 2668 | Yt = top + 2 * radius; // top bound y coordinate |
2669 | - Yb = bottom + 2 * radius; // bottom bound y coordinate | |
2669 | + Yb = bottom - 2 * radius; // bottom bound y coordinate | |
2670 | 2670 | Z = (bb.B[2] - bb.A[2] + 2 * max_radius); // bounding box width(along z-axis) |
2671 | 2671 | } |
2672 | 2672 | |
2673 | 2673 | /// making image stack main function |
2674 | - void make_image_stack(stim::image_stack<unsigned char, T> I, T dx, T dy, T dz, std::string stackdir, bool prototype = false, T radius = 5.0f) { | |
2674 | + void make_image_stack(stim::image_stack<unsigned char, T> &I, T dx, T dy, T dz, std::string stackdir, bool prototype = false, T radius = 5.0f) { | |
2675 | 2675 | |
2676 | 2676 | /// preparation for making image stack |
2677 | 2677 | T X, Xl, Xr, Y, Yt, Yb, Z; |
... | ... | @@ -2679,11 +2679,10 @@ namespace stim { |
2679 | 2679 | X = Xr - Xl; // bounding box length(along x-axis) |
2680 | 2680 | Y = Yt - Yb; // bounding box height(along y-axis) |
2681 | 2681 | stim::vec3<T> center = bb.center(); // get the center of bounding box |
2682 | - T size_x, size_y, size_z; | |
2682 | + int size_x, size_y, size_z; | |
2683 | 2683 | |
2684 | 2684 | if (!prototype) { |
2685 | 2685 | /// make |
2686 | - stim::image_stack<unsigned char, T> I; | |
2687 | 2686 | size_x = X / dx + 1; // set the size of image |
2688 | 2687 | size_y = Y / dy + 1; |
2689 | 2688 | size_z = Z / dz + 1; | ... | ... |