GithubHelp home page GithubHelp logo

irawinder / cityscope Goto Github PK

View Code? Open in Web Editor NEW
6.0 13.0 2.0 1.56 GB

CityScope is a collection of scripts developed with Processing 2 IDE v2.2.1, largely to serve the "CityScope" platform

Home Page: http://cp.media.mit.edu/city-simulation

License: MIT License

Processing 19.22% HTML 67.47% CSS 0.28% Java 12.95% Pure Data 0.05% JavaScript 0.02%

cityscope's Introduction

CityScope Repository

Solely Developed by Ira Winder [[email protected]] MIT Media Lab, C. 2014 - 2017

(Note: Ownership of this repository was transferred from the discontinued "Changing Places" Repository on August 7, 2017.)

CityScope is a collection of open source scripts developed with Processing 2 IDE v2.2.1, largely to serve the "CityScope" platform at http://cp.media.mit.edu/city-simulation.

  • Colortizer has been moved to its own repo!!
  • Arrange a Meeting with Ira Winder [[email protected]] before making any commits to this repository.
  • Avoid forking the repository and instead opt to make a new branch.

Setup

  1. Clone Repository to your machine
  2. Download Processing 2.2.1 from Processing.org and set its preferences such that the Sketchbook location is the CityScope/Processing/ Folder. ( We use Processing 2 since CityScope uses some libraries which have not yet migrated to Processing 3 )
  3. Re-start Processing 2. Now all of the sketches should show up under File>Sketchbook>

Useful Tips

  • Colortizer (has been moved to its own repo!!) takes a webcam input of colored tags and turns it into a matrix of IDs & rotations passed via UDP
  • Legotizer takes input from Colortizer and legotizer_data/ folder to rebuild a digital model of the table. It also sends and receives heatmap data from CitySim.
  • CitySim takes JSON data of a point cloud received from Legotizer and does matrix math on it. It tells Legotizer when it is done.
  • CityScope/Misc/ folder containes helper sketches and in-progress sketches.
  • DO NOT edit the following folders needed to run Processing:
    • CityScope/examples/
    • CityScope/libraries/
    • CityScope/modes/
    • CityScope/tools/

Documentation

CityScope scripts in the repository are compiled and tested with Processing IDE 2.2.1 on Windows 7:

As of January 12, 2016, the following Processing libraries are required. These should be kept up to date in the repository’s CityScope/Processing/libraries/ folder:

  • OpenCV by Greg Borenstein (Colorizer, Legotizer)
  • Keystone by David Bouchard (Legotizer)
  • UDP by Stephane Cousot (Colorizer, Legotizer, CitySim)
  • DDPClient by Yasushi Sakai (Colortizer,Legotizer)

cityscope's People

Contributors

ansoncfit avatar cityscope-demo avatar hcucityscope avatar irawinder avatar jamesira avatar mhwinder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cityscope's Issues

Colortizer garbage collection could probably be drastically relaxed

I noticed that https://github.com/ChangingPlaces/CityScope/blob/master/Processing/Colortizer/Colortizer.pde#L66 does garbage collection on every single iteration of the drawing.

I made it run only on every 300th draw (mostly a random choice) and it dramatically reduced CPU usage, increasing the FPS by 3-6 times depending on the machine I ran it on. I let it run for two hours without any problems on my laptop. I have to admit that I forgot to track the memory usage though. :)

Why is the implicit garbage collection needed at all? Shouldn't Processing/Java clean up automatically? Were there problems?

No library found for deadpixel.keystone - Legotizer

When I try to run Legotizer, after setting up Colortizer, I see this issue: "No library found for deadpixel.keystone"

I am working with the master branch, processing 2.2.1 and Mac Sierra. Do you know why it could be happening?

Create Polished UI for 'AgentDemo' Script

The core features of 'AndorraPlayer.pde' have been moved to 'AgentDemo.pde' located in 'CityScope/Misc/AgentDemo/'

The goal is to polish AgentDemo.pde into an excecutable application that we can distribute to users.
Through the application, the users should be able to independently understand the logic of (a) agent generation and (b) pathfinding of those agents from A to B.

Currently, the UI is a mess of keyboard commands that Ira merely created for debugging. The UI also needs much more text and explanation. Imagine your grandma will download this app. Can she play with it to better understand how we do agent-based modeling of origin-destination data?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.