summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/astra/Features.h16
-rw-r--r--src/Features.cpp6
2 files changed, 20 insertions, 2 deletions
diff --git a/include/astra/Features.h b/include/astra/Features.h
index d88ae71..c7ef98c 100644
--- a/include/astra/Features.h
+++ b/include/astra/Features.h
@@ -38,10 +38,22 @@ _AstraExport bool hasFeature(const std::string &feature);
FEATURES:
-cuda: is cuda support compiled in?
+cuda
+ is cuda support compiled in?
NB: To check if there is also actually a usable GPU, use cudaAvailable()
-mex_link: is there support for the matlab command astra_mex_data3d('link')?
+mex_link
+ is there support for the matlab command astra_mex_data3d('link')?
+
+projectors_scaled_as_line_integrals
+ This is set since all 2D and 3D, CPU and GPU projectors scale their outputs
+ to approximate line integrals. (Previously, some 2D projectors were scaled
+ as area integrals.)
+
+fan_cone_BP_density_weighting_by_default
+ This is set since fan beam and cone beam BP operations perform ray density
+ weighting by default to more closely approximate the true mathematical adjoint.
+ The DensityWeighting cuda3d projector option is removed.
For future backward-incompatible changes, extra features will be added here
diff --git a/src/Features.cpp b/src/Features.cpp
index 9114131..09a3499 100644
--- a/src/Features.cpp
+++ b/src/Features.cpp
@@ -34,6 +34,12 @@ _AstraExport bool hasFeature(const std::string &flag) {
if (flag == "cuda") {
return cudaEnabled();
}
+ if (flag == "projectors_scaled_as_line_integrals") {
+ return true;
+ }
+ if (flag == "fan_cone_BP_density_weighting_by_default") {
+ return true;
+ }
return false;
}