2021-09-23 13:16:05 +02:00
|
|
|
package config
|
|
|
|
|
|
|
|
import "github.com/photoprism/photoprism/internal/face"
|
|
|
|
|
2021-09-23 13:47:18 +02:00
|
|
|
// FaceSize returns the face size threshold in pixels.
|
|
|
|
func (c *Config) FaceSize() int {
|
|
|
|
if c.options.FaceSize < 20 || c.options.FaceSize > 10000 {
|
|
|
|
return 40
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.options.FaceSize
|
|
|
|
}
|
|
|
|
|
2021-09-23 13:16:05 +02:00
|
|
|
// FaceScore returns the face quality score threshold.
|
|
|
|
func (c *Config) FaceScore() float64 {
|
|
|
|
if c.options.FaceScore < 1 || c.options.FaceScore > 100 {
|
|
|
|
return face.ScoreThreshold
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.options.FaceScore
|
|
|
|
}
|
|
|
|
|
2021-09-23 13:21:21 +02:00
|
|
|
// FaceOverlap returns the face area overlap threshold in percent.
|
2021-09-23 13:16:05 +02:00
|
|
|
func (c *Config) FaceOverlap() int {
|
|
|
|
if c.options.FaceOverlap < 1 || c.options.FaceOverlap > 100 {
|
|
|
|
return face.OverlapThreshold
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.options.FaceOverlap
|
|
|
|
}
|
|
|
|
|
|
|
|
// FaceClusterCore returns the number of faces forming a cluster core.
|
|
|
|
func (c *Config) FaceClusterCore() int {
|
|
|
|
if c.options.FaceClusterCore < 1 || c.options.FaceClusterCore > 100 {
|
|
|
|
return face.ClusterCore
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.options.FaceClusterCore
|
|
|
|
}
|
|
|
|
|
|
|
|
// FaceClusterDist returns the radius of faces forming a cluster core.
|
|
|
|
func (c *Config) FaceClusterDist() float64 {
|
|
|
|
if c.options.FaceClusterDist < 0.1 || c.options.FaceClusterDist > 1.5 {
|
|
|
|
return face.ClusterDist
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.options.FaceClusterDist
|
|
|
|
}
|
|
|
|
|
|
|
|
// FaceMatchDist returns the offset distance when matching faces with clusters.
|
|
|
|
func (c *Config) FaceMatchDist() float64 {
|
|
|
|
if c.options.FaceMatchDist < 0.1 || c.options.FaceMatchDist > 1.5 {
|
|
|
|
return face.MatchDist
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.options.FaceMatchDist
|
|
|
|
}
|