Documentation ¶
Overview ¶
mrclean is a library and tool to show images on the Tromsø display wall for the purpose of data cleaning.
The code is divide in a library, mrclean, and few executables that are the Mr. Clean components. The components must start in the right order: chronicle, core, display and gesture. All the components need a config file, default is config.json, to be properly configured. Using different configurations for the different components will break things. Running all the components form the same directory will, by default, use the same configuration. The mrcrun executable find in the cmd directory is a convenience tool to run all the components in the right order.
The mrcrun tool is still a WIP and uses some dirty timing hacks: USE AT YOUR OWN RISK!!
Different examples of config.json are in the repository. In the cmd/gesture dir there is one with some gesture configuration examples. The config file is a key/value storage. So far there are only two element stored layers, and circles. Layers represent the depth of the watch directory and the name of the metadata assigned by the user. It has to be a string containing the metaata concatenated by a path separator, on unix systems "/". Circles represents the circle gestures recognized by the gesture component. The value of the circles key object is a list of objects containig the parameter of the circles to be recognized, for example:
{ "clockwise": true, "rounds": 2, "layout": "Group", "order": "number/color/shape/name" }
The layout can be for now only Group or Sort. The order has to be a combination of the layers.
Index ¶
- Constants
- Variables
- func JoinMcast(group net.IP) (*net.UDPConn, error)
- func McastInterfaces() ([]net.Interface, error)
- func ReadConfig(fname string) (map[string]interface{}, error)
- type ByApproach
- type ByIteration
- type ByMethod
- type ByName
- type CmdMessage
- type Gesture
- type ImageData
- type Images
- type InMessage
- type MetaData
- type OutMessage
- type SortData
- type Visual
- type VisualOrigins
Constants ¶
const ( MInput = "input" MCmd = "command" )
messgae type
const ( ImageMsg = "ImageData" SortMsg = "SortData" )
const ( CoreAddr string = ":32123" ChronicleAddr string = ":32124" DisplayAddr string = ":32125" )
ports for the components
Variables ¶
Functions ¶
func McastInterfaces ¶
func ReadConfig ¶
Types ¶
type ByApproach ¶
type ByApproach struct{ Images }
sort by Approach
func (ByApproach) Less ¶
func (n ByApproach) Less(i, j int) bool
type ByIteration ¶
type ByIteration struct{ Images }
sort by Iteration
func (ByIteration) Less ¶
func (n ByIteration) Less(i, j int) bool
type CmdMessage ¶
type Images ¶
type Images []*ImageData
sorting interface stuff
type InMessage ¶
type InMessage struct { Header string //so fat just a string indicating the kind of message Content json.RawMessage }
type OutMessage ¶
type OutMessage struct { Header string //so fat just a string indicating the kind of message Content interface{} //json.RawMessage }
type Visual ¶
type Visual struct { //The id of the visual ID int // The name of the visual Name string //The rectangle holding proportion and size for the visual in pixels Rectangle image.Rectangle //The url specifiyng where to find the hvisual URL string //commit number Commit string //Metadata associated with the visual Meta []string //Origin is the handle to move teh Visual Origin []float64 //`json:"omitempty"` //Size represent the size on screen Size []float64 //`json:"omitempty"` }
Visual represents a visual object to be displaied.
type VisualOrigins ¶
func NewVisualOrigins ¶
func NewVisualOrigins() *VisualOrigins
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
chronicle
Chronicle is a aomponent that monitors a directory in the file sysems and provide a chronicle of the changes in it.
|
Chronicle is a aomponent that monitors a directory in the file sysems and provide a chronicle of the changes in it. |
cmdsend
send text to cloudgui
|
send text to cloudgui |
core
The core component is the central node managing the other components.
|
The core component is the central node managing the other components. |
display
The display component is a proxy for the technology used to display the images, at this point only DisplayCloud is supported.
|
The display component is a proxy for the technology used to display the images, at this point only DisplayCloud is supported. |
displaycloud provides basic functionality to interact with the DisplayCloud "middleware".
|
displaycloud provides basic functionality to interact with the DisplayCloud "middleware". |
test
|
|