Synthesis¶
Functions
-
void image_synthesis(Context &ctx, const NufftSynthesisOptions &opt, Dataset &dataset, std::unordered_map<std::string, std::vector<std::pair<std::size_t, const float*>>> selection, ImageProp &imageProp, const std::string &imageFileName)¶
Compute image synthesis for a dataset and multiple images based on selection.
- Parameters:
ctx – [in] Context.
opt – [in] Nufft options.
dataset – [in] Dataset object.
selection – [in] Selection of pairs of sample indices and scaled eigenvalues for each images.
imageProp – [in] Image properties describing the output points.
imageFileName – [in] Image file name to write output to in hdf5 format.
-
struct Partition¶
- #include <image_synthesis.hpp>
Public Functions
-
Partition() = default¶
Public Members
-
struct Auto¶
- #include <image_synthesis.hpp>
Automatic domain partition method setting.
-
struct Grid¶
- #include <image_synthesis.hpp>
Use regular grid domain partitioning.
-
struct None¶
- #include <image_synthesis.hpp>
Disable domain partitioning.
-
Partition() = default¶
-
struct NufftSynthesisOptions¶
- #include <image_synthesis.hpp>
Public Functions
-
inline auto set_tolerance(float tol) -> NufftSynthesisOptions&¶
Set the tolerance.
- Parameters:
tol – [in] Tolerance.
-
inline auto set_sample_batch_size(std::optional<std::size_t> size) -> NufftSynthesisOptions&¶
Set the collection group size.
- Parameters:
size – [in] Collection group size.
-
inline auto set_local_uvw_partition(Partition p) -> NufftSynthesisOptions&¶
Set the partitioning method for the image domain.
- Parameters:
p – [in] Partition method.
-
inline auto set_normalize_image(bool normalize) -> NufftSynthesisOptions&¶
Set normalization of image.
- Parameters:
normalize – [in] True or false.
-
inline auto set_apply_scaling(bool apply) -> NufftSynthesisOptions&¶
Set scaling setting.
- Parameters:
apply – [in] True or false.
-
inline auto set_precision(BippPrecision prec) -> NufftSynthesisOptions&¶
Set floating point precision.
- Parameters:
prec – [in] Precision.
Public Members
-
BippPrecision precision = BIPP_PRECISION_SINGLE¶
Floating point pricision to use internally.
-
float tolerance = 0.001f¶
The tolerance used when computing the NUFFT.
Smaller value will increase accuracy but requires more operations.
-
std::optional<std::size_t> sampleBatchSize = std::nullopt¶
The maximum number of collected datasets processed together.
Larger number typically improves performance but requires more memory. Internal heuristic is used if unset.
-
Partition localUVWPartition = Partition{Partition::Auto()}¶
The partition method used in the image domain.
Partitioning decreases memory usage, but may come with a performance penalty.
-
bool normalizeImage = true¶
Normalize image by the number of collect steps.
-
bool apply_scaling = true¶
Apply scaling defined in dataset.
-
inline auto set_tolerance(float tol) -> NufftSynthesisOptions&¶