summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2019-04-03 22:32:11 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2019-09-25 14:10:09 +0200
commit744605ed826196aa6e0e3e3b5e945e50d830ed3a (patch)
tree6a7e628bd63ec2913816798bec98baee12147f67
parent4b576ee6ad461b162dd64538f54df47b65b37972 (diff)
downloadastra-744605ed826196aa6e0e3e3b5e945e50d830ed3a.tar.gz
astra-744605ed826196aa6e0e3e3b5e945e50d830ed3a.tar.bz2
astra-744605ed826196aa6e0e3e3b5e945e50d830ed3a.tar.xz
astra-744605ed826196aa6e0e3e3b5e945e50d830ed3a.zip
Add feature flags for changed scaling behaviour
-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;
}