Skip to content
This repository was archived by the owner on Nov 6, 2023. It is now read-only.

Commit a332131

Browse files
committed
Refactoring
1 parent a0559f6 commit a332131

File tree

5 files changed

+18
-17
lines changed

5 files changed

+18
-17
lines changed

src/PointPatterns.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ export
2323
ishomogeneous,
2424

2525
# algorithms
26-
PointPatternAlgorithm,
26+
PointPatternAlgo,
27+
ConstantIntensity,
2728
LewisShedler,
2829

2930
# thinning methods

src/processes.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,31 +55,31 @@ function default_sampling_algorithm end
5555
# -------------------------
5656

5757
"""
58-
PointPatternAlgorithm
58+
PointPatternAlgo
5959
60-
An algorithm for sampling point patterns.
60+
A method for sampling point patterns.
6161
"""
62-
abstract type PointPatternAlgorithm end
62+
abstract type PointPatternAlgo end
6363

6464
"""
6565
LewisShedler(λmax)
6666
6767
Generate sample using Lewis-Shedler algorithm (1979) with
6868
maximum real value `λmax` of the intensity function.
6969
"""
70-
struct LewisShedler{T<:Real} <: PointPatternAlgorithm
70+
struct LewisShedler{T<:Real} <: PointPatternAlgo
7171
λmax::T
7272
end
7373

7474
"""
75-
DiscretizedSampling()
75+
ConstantIntensity()
7676
7777
Generate sample assuming the intensity is constant over a `Geometry`
7878
or piecewise constant over a `Domain`.
7979
"""
80-
struct DiscretizedSampling <: PointPatternAlgorithm end
80+
struct ConstantIntensity <: PointPatternAlgo end
8181

82-
struct UnionSampling <: PointPatternAlgorithm end
82+
struct UnionSampling <: PointPatternAlgo end
8383

8484
#-----------------
8585
# IMPLEMENTATIONS

src/processes/binomial.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ end
1313

1414
ishomogeneous(p::BinomialProcess) = true
1515

16-
default_sampling_algorithm(::BinomialProcess, ::Any) = DiscretizedSampling()
16+
default_sampling_algorithm(::BinomialProcess, ::Any) = ConstantIntensity()
1717

18-
function rand_single(rng::Random.AbstractRNG, p::BinomialProcess, g, ::DiscretizedSampling)
19-
points = sample(g, HomogeneousSampling(p.n))
18+
function rand_single(rng::Random.AbstractRNG, p::BinomialProcess, g, ::ConstantIntensity)
19+
points = sample(rng, g, HomogeneousSampling(p.n))
2020
PointSet(points)
2121
end

src/processes/poisson.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ ishomogeneous(p::PoissonProcess{<:Function}) = false
3232

3333
ishomogeneous(p::PoissonProcess{<:AbstractVector}) = false
3434

35-
default_sampling_algorithm(::PoissonProcess, ::Any) = DiscretizedSampling()
35+
default_sampling_algorithm(::PoissonProcess, ::Any) = ConstantIntensity()
3636

3737
default_sampling_algorithm(p::PoissonProcess{<:Function}, g) = LewisShedler(default_lambda_max(p, g))
3838

@@ -46,7 +46,7 @@ end
4646
# HOMOGENEOUS CASE
4747
#------------------
4848

49-
function rand_single(rng::Random.AbstractRNG, p::PoissonProcess{<:Real}, g, ::DiscretizedSampling)
49+
function rand_single(rng::Random.AbstractRNG, p::PoissonProcess{<:Real}, g, ::ConstantIntensity)
5050
# simulate number of points
5151
λ = p.λ
5252
V = measure(g)
@@ -69,16 +69,16 @@ end
6969

7070
function rand_single(rng::Random.AbstractRNG, p::PoissonProcess{<:Function}, g, algo::LewisShedler)
7171
# simulate a homogeneous process
72-
pp = rand_single(rng, PoissonProcess(algo.λmax), g, DiscretizedSampling())
72+
pp = rand_single(rng, PoissonProcess(algo.λmax), g, ConstantIntensity())
7373

7474
# thin point pattern
7575
thin(pp, RandomThinning(x -> p.λ(x) / algo.λmax))
7676
end
7777

78-
rand_single(rng::Random.AbstractRNG, p::PoissonProcess{<:Function}, d::Domain, algo::DiscretizedSampling) =
78+
rand_single(rng::Random.AbstractRNG, p::PoissonProcess{<:Function}, d::Domain, algo::ConstantIntensity) =
7979
rand_single(rng, PoissonProcess(p.λ.(centroid.(d))), d, algo)
8080

81-
function rand_single(rng::Random.AbstractRNG, p::PoissonProcess{<:AbstractVector}, d::Domain, algo::DiscretizedSampling)
81+
function rand_single(rng::Random.AbstractRNG, p::PoissonProcess{<:AbstractVector}, d::Domain, algo::ConstantIntensity)
8282
# simulate number of points
8383
λ = p.λ
8484
V = measure.(d)

test/processes.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
@test all((g), pp)
5454

5555
g = discretize(g)
56-
pp = rand(p, g, algo=PointPatterns.DiscretizedSampling())
56+
pp = rand(p, g, algo=ConstantIntensity())
5757
@test all((g), g)
5858
end
5959

0 commit comments

Comments
 (0)