This lens inversion module can handle a variety of input data: image data, null space grids, time delay info, etc. Based on the precise input that was provided, one or more fitness measures will be used and the genetic algorithm will try to optimize these. The currently implemented fitness measures are:
extendedimageoverlap
: for multiply imaged extended sources, this fitness measure calculates the fractional overlap of back-projected images as described in Liesenborgs et al (2006).
pointimageoverlap
: for strongly lensed point sources, this is a measure for how well the back-projected point images overlap in the source plane, as described in Zitrin et al (2010).
extendedimagenull
: this fitness measure takes the null space into account, the region where no images should be found, as described in Liesenborgs et al (2007). An extension was made so allow it to add a penalty when multiple images are generated when only a single image should be allowed.
pointimagenull
: similar to the null space fitness measure for extended images but now for point images, also described in Zitrin et al (2010). Here too the extension was made to allow singly imaged sources to be used as a contraint.
timedelay
: when time delay information is available for one or more multiply-imaged sources, a fitness measure will be calculated as described in Liesenborgs et al (2009).
causticpenalty
: also described in Liesenborgs et al (2009), it is also possible to add a fitness measure to try to prevent a caustic from intersecting a reconstructed source.
weaklensing
: if real or reduced shear information is provided, a \(\chi^2\)-like fitness measure will be provided for this.
kappathreshold
: if it's certain that the convergence (\(\kappa\)) values at certain locations should not exceed a certain threshold, this fitness measure is added.
In general, when more than one fitness measure is used, at the end of the algorithm a set of mass maps is found in which no single one will be better than another with respect to all fitness measures. While you can specify that all of these solutions need to be saved to files, usually you'll just want to keep a single solution. To choose this solution, the order of importance of the fitness measures can be left to the default or you can specify it yourself. See the section about 'module parameters' for more information.
The last argument to imgdata/list/add
is called type
, and can be used to specify what kind of data this is. This inversion module uses these type names to determine which fitness measures are needed in the genetic algorithm. Sometimes, an images data set will require some extra parameters to be specified, which you can do by setting the third argument to yes
, in that case you'll need to add lines containing three entries: the name of the extra parameter, the type and the value. Supported types for these extra parameters are int
(an integer number), real
(a real number), bool
(a boolean) and str
(a string).
As mentioned above, the images data set type name describes what kind of data is contained in this entry, and can be one of the following:
pointimages
: the images data set describes point images that originate from a single source (also a point image of course). In general in a strong lensing scenario there will be more than one image, but single images are allowed as well. If this is the case, the image can't be used directly because it originates from a single point source by definition, but it can still be useful for a null space constraint to inform the algorithm that this source should not lie in a region that produces multiple images.
In case time delay information was added to the images data set, by default a time delay fitness measure will be calculated as well. This can still be disabled by specifying a boolean extra parameter timedelay
that is set to no
.
The fitness measures to which this type of data is relevant, are pointimageoverlap
, pointimagenull
and timedelay
.
pointnullgrid
: the images data set should contain only one 'image', a triangulated grid, and is interpreted as a null space grid. It refers to the previous images data set of pointimages
type and the algorithm will use this grid to estimate the number of extra images that are generated by a trial solution.
One extra parameter can be specified: weight
, which should be a real and positive value. The estimated amount of extra images is multiplied by this number, and can be used to adjust the relative importance of some null spaces. This can be useful to provide extra weight to singly imaged sources because they may otherwise provide only a small penalty.
The only fitness measure to which this type of data is relevant, is pointimagenull
.
extendedimages
: in this case the images data set describes the extended images originating from a single source. Therefore, in principle each image should consist of at least three points. As an exception, a single image containing exactly one point is allowed as well. In this case it will not be used as a constraint regarding the overlap of back-projected images in the source plane, but it can be used as a constraint in the null space, indicating that the corresponding source plane position should produce only one image.
For extended images, the extra parameters userectangles
and usepointgroups
(both taking a boolean value) can be useful. By default, the overlap of surrounding back-projected rectangles is always used, but can be disabled with the first option. If point groups (points in different images that correspond to each other) are available in the images data set, they are used by default as well. The second option can disable their use.
In case time delay information was added to the images data set, by default a time delay fitness measure will be calculated as well. This can still be disabled by specifying a boolean extra parameter timedelay
that is set to no
.
The fitness measures to which this type of data is relevant, are extendedimageoverlap
, extendedimagenull
and timedelay
.
extendednullgrid
: similar to pointnullgrid
, the images data set should contain only one 'image', a triangulated grid, and is interpreted as a null space grid. Here, typically the regions containing observed images or regions that may harbor an as yet undetected image are removed from the grid. The images data set refers to the previous images data set of extendedimages
type and the algorithm will use this grid to calculate the sizes of the regions in the image plane that contain additional images.
One extra parameter can be specified: weight
, which should be a real and positive value. The total size of the additional images is multiplied by this number, and can be used to adjust the relative importance of some null spaces. This can be useful to provide extra weight to singly imaged sources because they may otherwise provide only a small penalty.
The only fitness measure to which this type of data is relevant, is extendedimagenull
.
reducedshear
: use this type to provide reduced shear measurements to the algorithm. The images data set should contain only one 'image', a set of points in the image plane for which reduced shear components have been specified. One extra parameter (a real number) called threshold
must be provided: this contains a threshold value for \(|1-\kappa|\). Only when at a certain point the value for \(|1-\kappa|\) exceeds the specified threshold, will it be included in the \(\chi^2\)-like calculation.
The only fitness measure to which this type of data is relevant, is weaklensing
.
trueshear
: this is entirely similar to reducedshear
, but in this case the shear components are treated as the true shear values (which need to be divided by \(1-\kappa\) to obtain the reduced shear). Here too the extra parameter threshold
needs to be specified.
The only fitness measure to which this type of data is relevant, is weaklensing
.
kappathresholdpoints
: this data set should only contain a single 'image', a set of points at which the convergence \(\kappa\) is calculated. The mandatory extra (real valued) parameter threshold
specifies if a penalty is needed for a certain point: if its convergence is below the threshold, no penalty is added to the fitness measure, otherwise the amount by which the threshold is exceeded is added.
The only fitness measure to which this type of data is relevant, is kappathreshold
.
causticgrid
: when an images data set of this type is specified, it should contain a triangulated grid, which will be used to estimate the caustics. The algorithm will calculate the length of the caustics that intersect the estimated source, and this source estimate is based on the previously encountered images data set marked as extendedimages
.
The only fitness measure to which this type of data is relevant, is causticpenalty
.
Extra parameters for this module can be set using invert/grid/algparams/set
with argument general
(the name of this inversion module). Like the extra parameters in the imgdata/list/add
command, three entries need to be provided for each extra parameter: the name, the type (int
, real
, bool
or str
) and the value. The defaults can be obtained using the command invert/grid/algparams/get
with argument general
, and are listed in the following table:
Parameter name | Value (all int ) |
---|---|
priority_causticpenalty | 100 |
priority_pointimagenull | 200 |
priority_extendedimagenull | 200 |
priority_pointimageoverlap | 300 |
priority_extendedimageoverlap | 300 |
priority_timedelay | 400 |
priority_weaklensing | 500 |
priority_kappathreshold | 600 |
As the names suggest, these describe priorities for fitness measures. These values do not have any effect on the way the genetic algorithm operates, only on the final solution that is chosen from the set of 'best' solutions.
Here, the lower the priority value, the more important it is considered to be, so if for example both the extendedimageoverlap
and extendedimagenull
fitness measures are used based on the provided images data sets, there may be more than one 'best' solution found by the genetic algorithm. You may decide to save all these solutions using an option to invert/gaparams/set
, but typically you'll want to go on using a single solution.
It is based on the priorities that were specified, that one solution will be chosen. Using the default settings in our example, first the solution(s) will be chosen with the lowest value for the extendedimagenull
fitness value, and then for extendedimageoverlap
. You can force this order to be turned around by using invert/grid/algparams/set
to lower the value for priority_extendedimageoverlap
.
As you can see, some priorities have the same value. In case two fitness measures with the same priority are used, the number of images is typically used as a tie breaker. For example, if you've specified both point images and extended images as input, the fitness measures pointimageoverlap
and extendedimageoverlap
will be used. When choosing a single final solution, the fitness value that corresponds to most images will have the best priority for the default settings. So if there are more point images than extended images, the point image criterion will be considered first.