SMLMSim
Documentation for SMLMSim.
SMLMSim.CTMC
SMLMSim.Camera
SMLMSim.GenericFluor
SMLMSim.IdealCamera
SMLMSim.Images
SMLMSim.Line2D
SMLMSim.Molecule
SMLMSim.Nmer2D
SMLMSim.Pattern
SMLMSim.Point2D
SMLMSim.Point3D
SMLMSim.getnext
SMLMSim.getstate
SMLMSim.intensitytrace
SMLMSim.kineticmodel
SMLMSim.noise
SMLMSim.noise
SMLMSim.uniform2D
SMLMSim.uniform3D
SMLMSim.CTMC
— TypeCTMC
Continous Time Markov Chain
SMLMSim.Camera
— TypeCamera
SMLMSim.GenericFluor
— TypeGenericFluor
Defines a fluorophore
Fields
- γ: photon emission rate in Hz, Default: 1e3
- q: state transision matrix. Default: q=[1.0]
SMLMSim.IdealCamera
— TypeIdealCamera <: Camera
A camera with no added noise.
#Fields
- pixelsize
- xpixels
- ypixels
- gain
- offset
IdealCamera(;
pixelsize=0.1,
xpixels::Int=256,
ypixels::Int=256,
gain=1.0,
offset=0.0,
)
SMLMSim.Images
— TypeImages
Output data type
SMLMSim.Line2D
— TypeLine2D <: Pattern
Points with uniform random distribution between 2 endpoints.
Line2D(;λ::AbstractFloat=10.0, endpoints=[(-1.0,0.0),(1.0,0.0)])
Fields
λ
: linear molecule density- 'endpoints': Vector of Tuple
- 'n': Numbor of Points = 1
- 'x': X position
- 'y': Y position
SMLMSim.Molecule
— TypeMolecule
Photophysical properties of a molecule.
This is the most general type of luminecent or scattering single molecule. Inherited types will defines the properties of a class of molecules.
SMLMSim.Nmer2D
— TypeNmer2D <: Pattern
N molecules symmetricaly organized around a circle with diameter d
Nmer2D(;n::Int=8, d::AbstractFloat=.1)
Fields
- 'n': Numbor of Points = 1
- 'd': Diameter
- 'x': X position
- 'y': Y position
SMLMSim.Pattern
— TypePattern
Abstract type for structured patterns of molecules
SMLMSim.Point2D
— TypePoint2D <: Pattern
A single 2D point.
Point2D() = new(1, [0.0], [0.0])
Fields
- 'n': Numbor of Points = 1
- 'x': X position
- 'y': Y position
SMLMSim.Point3D
— TypePoint3D <: Pattern
A single 3D point.
Point3D() = new(1, [0.0], [0.0],[0.0])
Fields
- 'n': Numbor of Points = 1
- 'x': X position
- 'y': Y position
- 'z': Z position
SMLMSim.getnext
— Methodgetnext(ctmc::CTMC,t::AbstractFloat)
return the time and state of next transision
SMLMSim.getstate
— Methodgetstate(ctmc::CTMC,t::AbstractFloat)
return the state at time t
SMLMSim.intensitytrace
— Methodintensitytrace(f::GenericFluor, nframes::Int, framerate::AbstractFloat;state1=1)
Calculate an intensity trace.
SMLMSim.kineticmodel
— Functionfunction kineticmodel(smd_true::SMLMData.SMLD,f::Molecule,nframes::Int,framerate::AbstractFloat;ndatasets::Int=1,minphotons=50.0)
generate noise-free blinking model from smd_true
SMLMSim.noise
— Functionnoise(smd_model::SMLMData.SMLD2D,σ_psf::AbstractFloat)
Add zero mean Gaussian noise to coordinates with σ = σ_pdf/sqrt(photons)
SMLMSim.noise
— Methodnoise(smd_model::SMLMData.SMLD3D,σ_psf::Vector{<:AbstractFloat})
3D data requries σ_psf = [σ_x,σ_y,σ_z]
SMLMSim.uniform2D
— Methodfunction uniformPattern2D(ρ,, p::Pattern,xsize::AbstractFloat,ysize::AbstractFloat)
Create positions of molecules from uniformly randomly placed and rotated patterns.
SMLMSim.uniform3D
— Methodfunction uniformPattern3D(ρ,p::Pattern, xsize::AbstractFloat,ysize::AbstractFloat; zrange::Vector{<:Real}=[-1.0,1.0])
Create positions of molecules from uniformly randomly placed and rotated patterns.
!!! Note ρ
is 2D density. 3D density is ρ/(zrange[2]-zrange[1])
.