Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define core classes #4

Open
heavyimage opened this issue Apr 21, 2018 · 0 comments
Open

Define core classes #4

heavyimage opened this issue Apr 21, 2018 · 0 comments
Labels
Architecture JS boilerplate? Design? Any sort of high level thing.
Milestone

Comments

@heavyimage
Copy link
Collaborator

heavyimage commented Apr 21, 2018

Define core classes to be used by our application.

Use OOP conventions, right?

Here's a list of the classes with the imagined fields we'll need:

Image:

  • Path to the file
  • Image metatdata (grid, image number, date recorded, magnification...)
  • Transformations (spatial and image-based)

Slice:

As of Milestone 1.0, A single image.

  • Index
  • Depth in space
  • Descriptive name (so we can display it with something more useful than "Slice 7"?)

Shape:

Drawn on top of Slices to represent contributions of structures on this slice.

  • List of points / vectors. Not necessarily contiguous (eg: a fork)
  • End fudge distance (positive or negative)

Structure:

An actual 3d structure. The combination of many shapes.

  • Start / end depth (better to use depth than index so if more images are added it doesn't change!)
  • Collection of included shapes
  • Interpolation method for reconstruction (linear, cubic etc)
  • Start cap length, end cap length

Project:

A project file. Contains multiple shapes / structures / slices / images

  • Species name
  • Descriptive Project name (not just species, right? There might be a few reconstructions of the same species...)
  • Preferences
  • Regex (for now hard coded but useful to store per project or per user if we want to show to other scientists)
  • List of Types (Mitochondria / tube type A, tube type B etc), each with a color and whether it is shape-based or single-point based.
@heavyimage heavyimage added the Architecture JS boilerplate? Design? Any sort of high level thing. label Apr 21, 2018
@heavyimage heavyimage added this to the 1.0 milestone Apr 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Architecture JS boilerplate? Design? Any sort of high level thing.
Projects
None yet
Development

No branches or pull requests

1 participant