Skip to content

camilodlt/MAGE.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MAGE.jl

Docs Dev Build Status Coverage

MAGE is a type-aware extension of Cartesian Genetic Programming for evolving multimodal programs.

The Julia package that implements MAGE is still named UTCGP. Renaming the package is a separate migration because it affects the source tree, documentation, CI, and downstream users.

What MAGE Does

MAGE evolves typed computational graphs that can mix several modalities in the same program. A typical pipeline can take an image, apply a blur, then a Sobel operator, reduce the result to a scalar statistic, and use that scalar as a parameter for another image-processing function.

This typed composition is the core of the library:

  • several data types can coexist in one evolved program
  • function selection is constrained by input and output types
  • image processing, scalar transforms, and control logic can be combined in the same graph

Current Scope

The current package already includes infrastructure for:

  • typed graph construction and decoding
  • FunctionBundle, Library, and MetaLibrary
  • mutation operators and GA-based search
  • search-network tooling and experiment tracing
  • multimodal function libraries over images, floats, integers, strings, lists, tuples, and element operators

Existing image-oriented bundles in src/libraries/image2D/ cover:

  • basic image operators
  • filtering
  • morphology
  • binarization
  • segmentation
  • arithmetic and boolean arithmetic
  • transcendental transforms
  • experimental masking operators

There are also premade bundle collections for image-heavy setups, including Atari-oriented variants, in src/libraries/pre_made_libraries.jl.

Installation

Until the package rename happens, install and import the current package name:

using Pkg
Pkg.add(url="https://github.com/camilodlt/SearchNetworks.jl")
Pkg.add(url="https://github.com/camilodlt/MAGE.jl")
using UTCGP

For local development:

using Pkg
Pkg.develop(path=".")
Pkg.instantiate()

Publications

Papers defining MAGE:

Papers using MAGE for computer vision:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages