diff --git a/source/ui/plugins/fdm_plugin.cpp b/source/ui/plugins/fdm_plugin.cpp index 3d7bad5c1142569bdd51dc786e27d2877125ca01..2031c3e039bf0039eaf369f9b5faa9798daf277a 100644 --- a/source/ui/plugins/fdm_plugin.cpp +++ b/source/ui/plugins/fdm_plugin.cpp @@ -239,11 +239,23 @@ void fdm_plugin::calculate () } size = {size[0] / stride[0], size[1] / stride[1], size[2] / stride[2]}; + + // Roll to the previous power of 2. + //size = { + // std::size_t(pow(2, floor(log(size[0]) / log(2)))), + // std::size_t(pow(2, floor(log(size[1]) / log(2)))), + // std::size_t(pow(2, floor(log(size[2]) / log(2)))) }; + uint3 coefficient_dimensions = { - unsigned(size[0]) / block_dimensions.x, - unsigned(size[1]) / block_dimensions.y, + unsigned(size[0]) / block_dimensions.x, + unsigned(size[1]) / block_dimensions.y, unsigned(size[2]) / block_dimensions.z }; + size = { + block_dimensions.x * coefficient_dimensions.x, + block_dimensions.y * coefficient_dimensions.y, + block_dimensions.z * coefficient_dimensions.z }; + owner_->viewer ->set_wait_spinner_enabled(true); button_calculate ->setEnabled(false); button_extract_peaks->setEnabled(false); diff --git a/source/ui/plugins/scalar_plugin.cpp b/source/ui/plugins/scalar_plugin.cpp index 83d4e11b5961c6c5a5ce38d8a2350f9e9e2f2839..a41fc633fd2d199d4224b85e595b55e48ec4e8f5 100644 --- a/source/ui/plugins/scalar_plugin.cpp +++ b/source/ui/plugins/scalar_plugin.cpp @@ -74,7 +74,7 @@ void scalar_plugin::upload() return; } - size = {size[0] / stride[0], size[1] / stride[1], size[2] / stride[2]}; + size = {size[0] / stride[0], size[1] / stride[1], 1}; owner_->viewer->set_wait_spinner_enabled(true); selector->setEnabled(false);