RMLImaging
Documentation for RMLImaging.
RMLImaging.AbstractFourierTransformRMLImaging.AbstractImageModelRMLImaging.AbstractRegularizerRMLImaging.AbstractUVCoverageRMLImaging.FourierTransform2DRMLImaging.KLEntropyRMLImaging.L1NormRMLImaging.SingleNFFT2DRMLImaging.SingleUVCoverageRMLImaging.TSVRMLImaging.TVBase.mapBase.map!RMLImaging.ImagingProblemRMLImaging.ImagingProblemRMLImaging.costRMLImaging.domainRMLImaging.evaluateRMLImaging.evaluateRMLImaging.evaluateRMLImaging.evaluateRMLImaging.evaluateRMLImaging.hyperparameterRMLImaging.klentropy_baseRMLImaging.l1normRMLImaging.l1normRMLImaging.lossfuncRMLImaging.transform_linear_forwardRMLImaging.transform_linear_inverseRMLImaging.tsv_baseRMLImaging.tsv_baseRMLImaging.tsv_base_grad_pixelRMLImaging.tsv_base_pixelRMLImaging.tv_baseRMLImaging.tv_baseRMLImaging.tv_base_grad_pixelRMLImaging.tv_base_pixel
RMLImaging.AbstractFourierTransform — TypeAbstractFourierTransformAbstract type for Fourier Transform Operators.
RMLImaging.AbstractImageModel — TypeAbstractImageModelMandatory fields
Optional methods
Mandatory methods
Optional methods
RMLImaging.AbstractRegularizer — TypeAbstractRegularizerMandatory fields
hyperparameter::Number: the hyper parameter of the regularization function. In default, it should be a number.domain::RegularizerDomain: the domain of the image space where the regularization function will be computed.
Mandatory methods
evaluate(::AbstractRegularizerDomain, ::AbstractRegularizer, ::AbstractImageModel, ::AbstractArray): Evaluate the regularization function for the given input sky image.evaluate(::AbstractRegularizer, ::AbstractImageModel, ::AbstractArray): Evaluate the regularization function for the given input sky image.cost(::AbstractRegularizer, ::AbstractImageModel, ::AbstractArray): Evaluate the cost function for the given input sky image. The cost function is defined by the product of its hyperparameter and regularization function.- ``
RMLImaging.AbstractUVCoverage — TypeAbstract type for uv-coverages.
RMLImaging.FourierTransform2D — TypeFourierTransform2D <: AbstractFourierTransformAbstract type for Fourier Transform Operators of a single 2D image.
RMLImaging.KLEntropy — TypeKLEntropy <: AbstractRegularizerRegularizer using the Kullback-Leibler divergence (or a relative entropy).
fields
hyperparameter::Number: the hyperparameter of the regularizerprior: the prior image.domain::AbstractRegularizerDomain: the image domain where the regularization funciton will be computed. KLEntropy can be computed only inLinearDomain().
RMLImaging.L1Norm — TypeL1Norm <: AbstractRegularizerRegularizer using the l1-norm.
fields
hyperparameter::Number: the hyperparameter of the regularizerweight: the weight of the regularizer, which could be a number or an array.domain::AbstractRegularizerDomain: the image domain where the regularization funciton will be computed. L1Norm can be computed only inLinearDomain().
RMLImaging.SingleNFFT2D — TypeSingleNFFT2D(nfft_fwd, nfft_adj, vnorm) <: FourierTransform2DA Fourier Transform Operator of a single 2D Image using NFFT.
Fields
nfft_fwd: NFFT operator for the forward transformnfft_adj: NFFT operator for the adjoint transformVkernel: the factor (phase shift, pulse funciton, kernel, etc) to be multipled by the forward-transformed visibilities.
RMLImaging.SingleUVCoverage — TypeSingleUVCoverage(u, v, reverse_idx) <: AbstractUVCoverageA basic type for single uv-coverage.
Arguemnts:
u::Vectorv::Vectorreverse_idx::Vector
RMLImaging.TSV — TypeTSV <: AbstractRegularizerRegularizer using the Istropic Total Squared Variation
fields
hyperparameter::Number: the hyperparameter of the regularizerweight: the weight of the regularizer, which may be used for multi-dimensional images.domain::AbstractRegularizerDomain: the image domain where the regularization funciton will be computed.
RMLImaging.TV — TypeTV <: AbstractRegularizerRegularizer using the Istropic Total Variation
fields
hyperparameter::Number: the hyperparameter of the regularizerweight: the weight of the regularizer, which may be used for multi-dimensional images.domain::AbstractRegularizerDomain: the image domain where the regularization funciton will be computed.
Base.map! — Methodmap!(image::EHTImages.AbstractEHTImage, imager::Imager2D, x::AbstractArray[, idx])Base.map — Methodmap(image::EHTImages.AbstractEHTImage, imager::Imager2D, x::AbstractArray[, idx])RMLImaging.ImagingProblem — MethodImagingProblem(imager::Imager2D, x0::AbstractArray)Initialize Optimization.OptimizationProblem for RML Imaging. Returns the initialized Optimization.OptimizationProblem object.
Arguments
imager::Imager2D: the imagerx0::AbstractArray: the initial image in the parameter domain.
RMLImaging.ImagingProblem — MethodImagingProblem(imager::Imager2D, initialimage::AbstractEHTImage)Initialize Optimization.OptimizationProblem for RML Imaging. Returns the initialized Optimization.OptimizationProblem object.
Arguments
imager::Imager2D: the imagerx0::AbstractArray: the initial image in the parameter domain.
RMLImaging.cost — Methodcost(reg::AbstractRegularizer, skymodel::AbstractImageModel, x::AbstractArray)Compute the cost function of the given regularization function for the given image parameters on the given image model. In default, this should return reg.hyperparameter .* evaluate(reg, skymodel, x).
Arguments
reg::AbstractRegularizer: the regularization function.skymodel::AbstractImageModel: the model of the input imagex::AbstractArray: the parameters of the input image
RMLImaging.domain — Methoddomain(reg::AbstractRegularizer) = reg.domainReturn the computing domain of the given regularizer.
RMLImaging.evaluate — Methodevaluate(imager::Imager2D, x::AbstractArray)Evaluate chisquares and regularizers from the input image parameters
Arguments
imager::Imager2D: RML Imaging Settingx::AbstractArray: the image parameters
RMLImaging.evaluate — Methodevaluate(imager::Imager2D, image::AbstractEHTImage)Evaluate chisquares and regularizers from the input image
Arguments
imager::Imager2D: RML Imaging Settingimage::AbstractEHTImage: the image
RMLImaging.evaluate — Methodevaluate(::AbstractRegularizer, skymodel::AbstractImage2DModel, x::AbstractArray)RMLImaging.evaluate — Methodevaluate(reg::AbstractRegularizer, skymodel::AbstractImageModel, x::AbstractArray)Compute the value of the given regularization function for the given image parameters on the given image model. In default, return evaluate(domain(reg), reg, skymodel, x).
Arguments
reg::AbstractRegularizer: the regularization function.skymodel::AbstractImageModel: the model of the input imagex::AbstractArray: the parameters of the input image
RMLImaging.evaluate — Methodevaluate(domain::AbstractRegularizerDomain, reg::AbstractRegularizer, skymodel::AbstractImageModel, x::AbstractArray)Compute the value of the given regularization function for the given image parameters on the given image model. In default, return 0.
Arguments
domain::AbstractRegularizerDomain: the domain of the image where the regularization function will be computed.reg::AbstractRegularizer: the regularization function.skymodel::AbstractImageModel: the model of the input imagex::AbstractArray: the parameters of the input image
RMLImaging.hyperparameter — Methodhyperparameter(reg::AbstractRegularizer) = reg.hyperparameter
Return the hyperparameter of the given regularizer.
RMLImaging.klentropy_base — Methodklentropy_base(x::AbstractArray, p::AbstractArray)Base function of the l1norm.
Arguments
I::AbstractArray: the image
RMLImaging.l1norm — Methodl1norm(I::AbstractArray, w::Number)Base function of the l1norm.
Arguments
I::AbstractArray: the imagew::Number: the regularization weight
RMLImaging.l1norm — Methodl1norm(I::AbstractArray)Base function of the l1norm.
Arguments
I::AbstractArray: the image
RMLImaging.lossfunc — Methodlossfunc(x, imager::Imager2D)The Loss function for the basic 2-dimensional RML Imaging problem. Returns the cost function.
Arguments
x::AbstractArray: the image parametersimager::Imager2D: RML Imaging Setting
RMLImaging.transform_linear_forward — Methodtransform_linear_forward(model::AbstractImageModel, x::AbstractArray)Convert the input array of the image model parameters into the corresponding array of the linear-scale intensity map. This is supposed to be the inverse funciton of $transform_linear_inverse$.
Arguments
model::AbstractImageModel: the image modelx::AbstractArray: the array of the image model parameters
RMLImaging.transform_linear_inverse — Methodtransform_linear_forward(model::AbstractImageModel, x::AbstractArray)Convert the input array of the linear-scale intensity map into the array of the corresponding model parameters. This is supposed to be the inverse funciton of $transform_linear_forward$.
Arguments
model::AbstractImageModel: the image modelx::AbstractArray: the array of the linear-scale intensity map
RMLImaging.tsv_base — Methodtsv_base(I::AbstractArray, w::Number; ex::Floop's Executor)Base function of the istropic total squared Variation.
Arguments
I::AbstractArray: the input two dimensional real imagew::Number: the regularization weight
RMLImaging.tsv_base — Methodtsv_base(I::AbstractArray; ex::FLoops's Executor)Base function of the istropic total squared Variation.
Arguments
I::AbstractArray: the input two dimensional real image
RMLImaging.tsv_base_grad_pixel — Methodtsv_base_grad_pixel(I::AbstractArray, ix::Integer, iy::Integer)Return the gradient of the squared variation for the given pixel.
RMLImaging.tsv_base_pixel — Methodtsv_base_pixel(I::AbstractArray, ix::Integer, iy::Integer)Return the squared variation for the given pixel.
RMLImaging.tv_base — Methodtv_base(I::AbstractArray, w::Number; ex::FLoops's Executor)Base function of the istropic total variation.
Arguments
I::AbstractArray: the input two dimensional real imagew::Number: the regularization weight
RMLImaging.tv_base — Methodtv_base(I::AbstractArray; ex::FLoops's Executor)Base function of the istropic total variation.
Arguments
I::AbstractArray: the input two dimensional real image
RMLImaging.tv_base_grad_pixel — Methodtv_base_pixel(I::AbstractArray, ix::Integer, iy::Integer)Evaluate the gradient of the istropic variation term for the given pixel.
RMLImaging.tv_base_pixel — Methodtv_base_pixel(I::AbstractArray, ix::Integer, iy::Integer)Evaluate the istropic variation term for the given pixel.