Qfmodels

Models that can be used for Qubefit.

Any additional models should be put here and can then be referenced by the code. If you have a model that could be useful to others, please feel free to contact me, and I can add the model permanently to the list.

qubefit.qfmodels.DispersionBulge(**kwargs)

Create a model of a dispersion-dominated bulge.

This will create a dispersion-dominated bulge model from the stored parameters specified in kwargs. The bulge model is described in detail in the online documentation and uses and limitations to this model are discussed there and in qubefit’s reference paper.

Parameters:

**kwargs (Dictionary) –

The kwargs dictionary contains all of the information to run the fitting procedure. It consists out of several nested dictionaries. The first level consists out the keys: {‘mstring’, ‘mcmcmap’, ‘par’, ‘shape’, ‘data’, ‘kernel’, ‘variance’, ‘maskarray’, ‘initpar’, ‘probmethod’, ‘kernelarea’, ‘convolve’}. The kwargs dictionary should be generated directly from a fully populated qubefit instance using the function kwargs = self.__define_kwargs__(). This extra step is necessary for the input structure of emcee. To create the model, the important keys are:

’mstring’: Dictionary

Contains the model name and profiles used for the model. That is the ‘modelname’, ‘intensityprofile’, ‘velocityprofile’, and ‘dispersionprofile’. The first is a string with the model name, the latter three are list of strings with the name of the profiles in each of the three dimensions, e.g., [‘Exponential’, None, ‘Exponential’].

’par’: Dictionary

Contains the parameters needed to successfully create the model. These are given in the online documentation, but in short they are ‘Xcen’, ‘Ycen’, ‘Rd’, ‘I0’, ‘Rv’, ‘Vcen’ and ‘Disp’. Each should be given in intrinsic units. In addition, some profiles (e.g., Sersic and Power) require an additional parameter, which is given by the optional parameters: ‘IIdx’ and ‘DIdx’.

’shape’: tuple

The shape of the array to be created.

’kernel’: np.ndarray

Array representation of the PSF. Will be used by astropy.convolve to convolve with the model.

’convolve’: Boolean

If set to true the model cube will be convolved with the kernel.

Returns:

Model – Array of size kwargs[‘shape’] with the model that was generated from the parameters in kwargs[‘par’].

Return type:

np.ndarray

qubefit.qfmodels.ThinDisk(**kwargs)

Create a model of a thin disk.

This will create an infintely thin disk model from the stored parameters specified in kwargs. The thin disk model is described in detail in the online documentation and uses and limitations to this model are discussed there and in qubefit’s reference paper.

Parameters:

**kwargs (Dictionary) –

The kwargs dictionary contains all of the information to run the fitting procedure. It consists out of several nested dictionaries. The first level consists out the keys: {‘mstring’, ‘mcmcmap’, ‘par’, ‘shape’, ‘data’, ‘kernel’, ‘variance’, ‘maskarray’, ‘initpar’, ‘probmethod’, ‘kernelarea’, ‘convolve’}. The kwargs dictionary should be generated directly from a fully populated qubefit instance using the function kwargs = self.__define_kwargs__(). This extra step is necessary for the input structure of emcee. To create the model, the important keys are:

’mstring’: Dictionary

Contains the model name and profiles used for the model. That is the ‘modelname’, ‘intensityprofile’, ‘velocityprofile’, and ‘dispersionprofile’. The first is a string with the model name, the latter three are list of strings with the name of the profiles in each of the three dimensions, e.g., [‘Exponential’, None, ‘Exponential’].

’par’: Dictionary

Contains the parameters needed to successfully create the model. These are given in the online documentation, but in short they are ‘Xcen’, ‘Ycen’, ‘PA’, ‘Incl’, ‘Rd’, ‘I0’, ‘Rv’, ‘Vmax’, ‘Vcen’, and ‘Disp’. Each should be given in intrinsic units. In addition, some profiles (e.g., Sersic and Power) require an additional parameter, which is given by the optional parameters: ‘IIdx’, ‘VIdx’, and ‘DIdx’.

’shape’: tuple

The shape of the array to be created.

’kernel’: np.ndarray

Array representation of the PSF. Will be used by astropy.convolve to convolve with the model.

’convolve’: Boolean

If set to true the model cube will be convolved with the kernel.

Returns:

Model – Array of size kwargs[‘shape’] with the model that was generated from the parameters in kwargs[‘par’].

Return type:

np.ndarray

qubefit.qfmodels.ThinSpiral(**kwargs)

Create a model of a thin spiral disk.

This will create an infintely thin disk model with a spiral pattern from the stored parameters specified in kwargs. The thin spiral model is described in detail in the online documentation and uses and limitations to this model are discussed there. It has been used in Chittidi et al. 2020 arXiv200513158

Parameters:

**kwargs (Dictionary) –

The kwargs dictionary contains all of the information to run the fitting procedure. It consists out of several nested dictionaries. The first level consists out the keys: {‘mstring’, ‘mcmcmap’, ‘par’, ‘shape’, ‘data’, ‘kernel’, ‘variance’, ‘maskarray’, ‘initpar’, ‘probmethod’, ‘kernelarea’, ‘convolve’}. The kwargs dictionary should be generated directly from a fully populated qubefit instance using the function kwargs = self.__define_kwargs__(). This extra step is necessary for the input structure of emcee. To create the model, the important keys are:

’mstring’: Dictionary

Contains the model name and profiles used for the model. That is the ‘modelname’, ‘intensityprofile’, ‘velocityprofile’, and ‘dispersionprofile’. The first is a string with the model name, the latter three are list of strings with the name of the profiles in each of the three dimensions, e.g., [‘Exponential’, None, ‘Exponential’].

’par’: Dictionary

Contains the parameters needed to successfully create the model. These are given in the online documentation, but in short they are ‘Xcen’, ‘Ycen’, ‘PA’, ‘Incl’, ‘Rd’, ‘I0’, ‘Rv’, ‘Vmax’, ‘Vcen’, and ‘Disp’. Each should be given in intrinsic units. In addition, some profiles (e.g., Sersic and Power) require an additional parameter, which is given by the optional parameters: ‘IIdx’, ‘VIdx’, and ‘DIdx’. The spiral pattern is described by an additonal six parameters, ‘NSpiral’, ‘Phi0’, ‘Spcoef’, ‘Dphi’, ‘Ispf’, and ‘Rs’

’shape’: tuple

The shape of the array to be created.

’kernel’: np.ndarray

Array representation of the PSF. Will be used by astropy.convolve to convolve with the model.

’convolve’: Boolean

If set to true the model cube will be convolved with the kernel.

Returns:

Model – Array of size kwargs[‘shape’] with the model that was generated from the parameters in kwargs[‘par’].

Return type:

np.ndarray

qubefit.qfmodels.TwoClumps(**kwargs)

Create a model of two bulges.

This model combines two instances of bulges into a single model. This very basic model is useful to see if the velocity gradient seen in low spatial resolution data can be reproduced using a pair of merging clumps that are not rotating themselves.

Parameters:

**kwargs (Dictionary) –

The kwargs dictionary contains all of the information to run the fitting procedure. It consists out of several nested dictionaries. The first level consists out the keys: {‘mstring’, ‘mcmcmap’, ‘par’, ‘shape’, ‘data’, ‘kernel’, ‘variance’, ‘maskarray’, ‘initpar’, ‘probmethod’, ‘kernelarea’, ‘convolve’}. The kwargs dictionary should be generated directly from a fully populated qubefit instance using the function kwargs = self.__define_kwargs__(). This extra step is necessary for the input structure of emcee. To create the model, the important keys are:

’mstring’: Dictionary

Contains the model name and profiles used for the model. That is the ‘modelname’, ‘intensityprofile’, ‘velocityprofile’, and ‘dispersionprofile’. The first is a string with the model name, the latter three are list of strings with the name of the profiles in each of the three dimensions for both clumps, e.g., [[‘Exponential’, None, ‘None’], [‘Exponential’, None, ‘None’]]

’par’: Dictionary

Contains the parameters needed to successfully create the model. These are given in the online documentation, but in short they are ‘Xcen1’, ‘Ycen1’, ‘Rd1’, ‘I01’, ‘Rv1’, ‘Vcen1’ and ‘Disp1’ for the first clump and similarly for the second clump, ‘Xcen2’, ‘Ycen2’, ‘Rd2’, ‘I02’, ‘Rv2’, ‘Vcen2’ and ‘Disp2’. Each should be given in intrinsic units. In addition, some profiles (e.g., Sersic and Power) require an additional parameter, which is given by the optional parameters, ‘IIdx1’, ‘DIdx1’, ‘IIdx2’ and ‘DIdx2’.

’shape’: tuple

The shape of the array to be created.

’kernel’: np.ndarray

Array representation of the PSF. Will be used by astropy.convolve to convolve with the model.

’convolve’: Boolean

If set to true the model cube will be convolved with the kernel.

Returns:

Model – Array of size kwargs[‘shape’] with the model that was generated from the parameters in kwargs[‘par’].

Return type:

np.ndarray