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

Cell.target_size #6

Closed
lavinrp opened this issue Jun 23, 2019 · 4 comments
Closed

Cell.target_size #6

lavinrp opened this issue Jun 23, 2019 · 4 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@lavinrp
Copy link
Owner

lavinrp commented Jun 23, 2019

cells should slowly grow or shrink to fit their target size.

This variable can be set by furrow events to cause cells to automatically change their size over time.

@lavinrp lavinrp added enhancement New feature or request good first issue Good for newcomers labels Sep 8, 2019
@lavinrp lavinrp added this to the Year 3 Startup milestone Sep 8, 2019
@zackelia zackelia self-assigned this Sep 19, 2019
@zackelia
Copy link

@lavinrp I've been messing with this one and I think I almost have it in a good state. It can get a little messy but I think that's still because of #27.

Also, should target_size be replacing max_radius? And then target size would be in the specialization options for the different photoreceptor types in the GUI?

@lavinrp
Copy link
Owner Author

lavinrp commented Sep 23, 2019

@zackelia
Yea, dont worry about the cell soup for now.

Lets add target_size in addition to max_radius.
max_radius is the size at which any cell in the epithelium will split or stop growing (if they cant split).
After this change max_radius may be a bad name for that, but lets worry about that later.

Recommended Implementation:

Currently max_radius is responsible for the size that a cell grows to (via the PassiveGrowth cell event). Lets give target_size that responsibility (and let it grow or shrink the cell).

For now lets let max_radius win if the target_size is greater than max_radius.

This feel like it may get messy that way. If so we can look at simplifying.

Notes:

  • target_radius may be a better name to match the max_radius api
  • One think keeping me from saying "Yes! replace max_radius with target_size!" is that any changes to the non-dynamic UI may be painful until the Qt based UI is working. Las time I checked WxFormBuilder (the tool that we use to generate our UI) was causing a lot of weird problems. I'd like to avoid changing anything directly toughing the static GUI until we either get that sorted, or get the Qt based UI up.
  • You have full implementation freedom here. If what I've described ends up being gross then do something better. I like when people come up with better designs than me.

Feature Requirements

At the end of the day we want:

  • Some limit to how large cells get before they divide
  • Cells to grow until they hit some arbitrary value (that is distinct from the value at which they divide)
  • Cells to (very rarely) shrink if they are larger than some arbitrary value

zackelia added a commit that referenced this issue Oct 4, 2019
@zackelia
Copy link

zackelia commented Oct 4, 2019

@lavinrp

Sorry for the long delay, I've been able to start working on this again. I've added some comments to my commit if you would look them over (also is this the best way to do this or should I just initiate a code review and comment?)

@lavinrp
Copy link
Owner Author

lavinrp commented Oct 4, 2019

@zackelia
Awesome, I'll take a look.

If you think something is ready to merge best thing to do is make a pull request.

If something still needs work but you want early feedback you can make a "draft pull request"

In both scenarios just assign me as a reviewer and I'll take a look as soon as I can.

Throwing an @lavinrp in the issue or in the pull request never hurts though.

@zackelia zackelia removed their assignment Dec 20, 2020
@lavinrp lavinrp closed this as completed May 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants