Coder Social home page Coder Social logo

meshmerizeme's Introduction

Hi there ๐Ÿ‘‹

Iโ€™m an Research Statistician Developer at SAS Institute, Inc. I have a PhD in mathematics from the University of North Carolina at Chapel Hill where I worked on computational fluid dynamics as part of the Miller Lab Group, now at UA. I have broad interests in scientific computing and data analysis. Feel free to check out my GitHub pages site.

meshmerizeme's People

Contributors

dependabot[bot] avatar dmsenter89 avatar kilmoretrout avatar mountaindust avatar stevengt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meshmerizeme's Issues

Check Vertices for Uniqueness

If the SVG defines multiple paths, it is possible that two paths overlap. In particular, if a path is handdrawn or coded, it may be that the end point of one path coincides with the beginning of a second. MeshmerizeMe does not currently check if this is the case, and would create two identical vertices. This will lead to the simulation failing in IB2D/IBAMR.

Proposed solution: Prior to writing the vertex file, check for duplicate vertices. If any duplicates are found, remove one of them.
For this fix to work the comparison, or at least equality operation '==', will need to be added to the Vertex class.

Create Log

Have the software print and save a log file. One of the key elements of the log file should be to identify which of the vertices correspond to paths from the svg. Initial and final position could be printed to help users identify the paths.

Out of Bounds

SVG Allows for coordinate markers to be outside of the viewbox. MeshmerizeMe will dutifully create these vertices outside of the domain for the simulation without complaint. I can see two ways of handling this problem:

  1. Throw error, abort simulation.
  2. Eliminate all vertices that that are out of bounds simply by cutting them from the list of vertex points prior to writing.

While the first might be more honest, I think the second might be the way to go, since I've noticed inkscape does occasionaly produce coordinates that are out-of-bounds, without the users intention.

Vertex files are plotted upside-down in Matplotlib

The origin of SVG images is in the top-left corner, but the origin of the current Matplotlib plots is in the bottom-left, causing the mesh points to look upside-down.

This is easy enough to fix within the Matplotlib plots, but do we need to also flip the mesh points within the exported vertex files before using them in IB2D?

Allow for Non-Pixel Sized SVGs

The SVG format allows the height and width of an SVG to be specified in units other than pixels, such as milimeters. This seems like a very useful feature to support for converting image data to for simulation. Currently MeshmerizeMe requires the height and width to be given in pixels, and does not contain any code to handle coordinate transforms within the SVG. We should add a feature that allows for SVGs with height/width specified in units other than pixels.

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.