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

mrpeek: a sixel-based terminal image viewer for MRtrix3 #202

Open
10 of 14 tasks
jdtournier opened this issue Jun 14, 2020 · 26 comments
Open
10 of 14 tasks

mrpeek: a sixel-based terminal image viewer for MRtrix3 #202

jdtournier opened this issue Jun 14, 2020 · 26 comments
Assignees
Labels
Email ok EMEA hub git-1 can commit and push to a repository Hackathon project use this tag for submitted projects Mrtrix Using the Mrtrix software unix command line some knowledge of unix command line required

Comments

@jdtournier
Copy link

jdtournier commented Jun 14, 2020

Guidelines

We are very excited to meet you at the 2020 OHBM Brainhack 🎉 To submit a project, you need to be an attendee of the 2020 OHBM Brainhack. We ask you to register first over here. Thank you!

We have prepared a checklist to help with your project submission. Here is how to proceed:

  1. Before filling in any part, please submit this issue
  2. Check items in the checklist below as you go through them
  3. Once you are done (at least all 'required' items must be provided), please delete the "Guidelines" section add a comment saying 'hi @ohbm/project-monitors: My project is ready!'

Thank you!

After step 1 (issue submitted), we will assign a 'project monitor' to follow your submission. If at any time you need help or anything is unclear, please add a comment and ping your project monitor. Our team is here to help!


Project info

mrpeek: a sixel-based terminal image viewer for MRtrix3:

Project lead:

Timezone: London UTC+1

Hub: Europe, Middle East and Africa

Description:

Displaying images on a remote server is very difficult / impossible currently using MRtrix3's mrview, due the incompatibility of OpenGL 3+ with X11 forwarding (see here for details). It will be some time before the technology is updated to fix this.

In the meantime, @wasserth's niicat project shows that it is possible to allow some (limited) display functionality using sixel. The libsixel project provides an implementation that seems like a good starting point for a C++ command.

The aim of this project is to create a simple command for interactive display of MR images within the terminal, build on the MRtrix3 codebase, so that it can be used for quick inspection of images both locally and remotely.

If successful, changes will be included in a future update to the MRtrix3 software. Contributors will be included in the built-in git contribution statistics. We additionally credit contributors by showing their avatar at the bottom of the MRtrix3 website front page, and in the changelog as reported on the community forum (example).

Link to project: MRtrix3/mrtrix3#2079

Mattermost handle: jdtournier

Goals for the OHBM Brainhack

The range of possible milestones are presented in MRtrix3/mrtrix3#2079. The minimum requirements for the Hackathon would be:

  • extract a given slice of interest and render it to the terminal using libsixel
  • implement options or other user controls to select the slice of interest, projection (axial/sagittal/coronal), and brightness/control
  • implement real-time interaction based on keyboard input
  • implement real-time interaction based on mouse input

Good first issues:

  • Install MRtrix3 from source and set up an external linked module to create your own app
  • build a simple MRtrix3 app that can loop over a single slice of an image and extract the intensities (inspired by e.g. MRtrix3's mrcolour)
  • install libsixel and add it as a dependency to your project (by editing your config file if needed)
  • work out how to feed the image intensities from the input data in a format suitable for libsixel, and display to the terminal

Skills:

Some experience with C++ is essential for this project. Experience with git and Unix in general would be advantageous. The pace of the project will however be tailored to the skillset of team members. No prior expectations are set on the quantity of team members.

Chat channel: hbmhack-mrpeek

Video Channel

Please have a look at the Mattermost channel(pinned posts) for the URL of the video channel, or alternatively, please contact to @jdtournier on Mattermost.

Image for the OHBM brainhack website
84496961-344d7580-acae-11ea-91c1-e51971b1e7d5

Project submission

Submission checklist

Once the issue is submitted, please check items in this list as you add under 'Additional project info'

Please include the following above (all required):

  • Link to your project: could be a code repository, a shared document, etc. See here
  • Include your Mattermost handle (i.e. your username). If you do not have an account, please sign up here.
  • Goals for the OHBM Brainhack: describe what you want to achieve during this brainhack. See here.
  • Flesh out at least 2 "good first issues": those are tasks that do not require any prior knowledge about your project, could be defined as issues in a GitHub repository, or in a shared document, cf here.
  • Skills: list skills that would be particularly suitable for your project. We ask you to include at least one non-coding skill, cf. here.
  • Chat channel: A link to a chat channel that will be used during the OHBM Brainhack. This can be an existing channel or a new one. We recommend using the Brainhack space on mattermost, cf. here.
  • Video channel: Please create a video channel that will be used during the OHBM Brainhack and share it in your chat channel above. This can be an existing channel or a new one. For instance a jitsi meet room, cf. here.
  • Provide an image of your project for the OHBM brainhack website

You can also include information about (all optional):

  • Number of participants, cf. here
  • Twitter-size summary of your project pitch, cf. here
  • Set up a kanban board on your repository to better divide the work and keep track of things, cf here
  • Project snippet for the OHBM Brainhack website, cf. here

We would like to think about how you will credit and onboard new members to your project. We recommend reading references from this section. If you'd like to share your thoughts with future project participants, you can include information about (recommended):

  • Specify how will you acknowledge contributions (e.g. listing members on a contributing page).
  • Provide links to onboarding documents if you have some.
@jdtournier jdtournier added the Hackathon project use this tag for submitted projects label Jun 14, 2020
@welcome
Copy link

welcome bot commented Jun 14, 2020

Welcome Banner (Image: CC-BY license, The Turing Way Community, & Scriberia. Zenodo. http://doi.org/10.5281/zenodo.3332808)
🎉 Welcome to the 2020 OHBM Hackathon! 🎉 We're really excited to have your input on this repository and welcome your idea! 💖 If you haven't done so already, please make sure you check out our Code of Conduct. Did you issue a new hackathon project? Please check if you have provided all relevant information and an image for the website.

@jdtournier jdtournier changed the title a sixel-based terminal image viewer for MRtrix3 mrpeek: a sixel-based terminal image viewer for MRtrix3 Jun 14, 2020
@Remi-Gau
Copy link
Contributor

hey @jdtournier

As you seem to have project leads in several hubs, should I put you down for project pitches in both hubs (meaning will there be some who can pitch live for both hubs)?

@Remi-Gau Remi-Gau reopened this Jun 14, 2020
@Remi-Gau
Copy link
Contributor

Oops sorry that was a mishap my part.

@jdtournier
Copy link
Author

We're discussing the live pitch issue right now. I'm unlikely to be able to do it myself due to home schooling duties...

On a different note: I'm a bit confused about the advice regarding the video channel. I'm assuming we're free to choose whatever we want, so I've set up a Google Meet for that. But are we to show the details of the channel here, or keep them hidden as a comment, or only show the channel on the mattermost channel?

@jdtournier
Copy link
Author

OK, we've decided to limit this to the Europe, Middle East & Africe time zone to avoid too many clashes... I've updated the description to match, I assume we'll also need to remove the corresponding label?

@Remi-Gau
Copy link
Contributor

On a different note: I'm a bit confused about the advice regarding the video channel. I'm assuming we're free to choose whatever we want, so I've set up a Google Meet for that. But are we to show the details of the channel here, or keep them hidden as a comment, or only show the channel on the mattermost channel?

Sorry about the confusion. You are free to use whatever means you want. 👍

And yes the best is to just put the video channel link in your mattermost channel and leave them out of the issue all together. Sorry we are sort of course correcting as we go. We promise that for the next pandemic, we will be ready. 😉

@Remi-Gau Remi-Gau removed the Apac hub label Jun 14, 2020
@Remi-Gau
Copy link
Contributor

OK, we've decided to limit this to the Europe, Middle East & Africe time zone to avoid too many clashes... I've updated the description to match, I assume we'll also need to remove the corresponding label?

Done it for you.

But if you want you can mention where each project lead is situated if that can help some attendees get in touch with them in their hub.

@jdtournier
Copy link
Author

OK, video channel section removed - I assume there's no point in it being here any more.

All our project leads for this project are actually in UK / Germany, so all in Europe hub. I've taken @Lestropie off at his request even though he's keen to drop in unofficially when possible, but he'll have his own project to deal with.

@jdtournier
Copy link
Author

Otherwise, I reckon this is good to go? I'm not sure we need to set up the Twitter snippet if we're happy with the default?

We might set up a separate repo and issue track / project board from there, but again, I assume this is something we can do from the mattermost channel, right?

@jdtournier
Copy link
Author

I'm also a bit unclear about the onboarding process. I assume interested users will contact us on the mattermost channel, and if we're all happy, they're in, right? Is there a more formal process we should follow here?

@Remi-Gau
Copy link
Contributor

Otherwise, I reckon this is good to go? I'm not sure we need to set up the Twitter snippet if we're happy with the default?

We want to try to tweet about every project to give them more visibility but we are bit short-staffed on that end. Let's see how much we can do.

We might set up a separate repo and issue track / project board from there, but again, I assume this is something we can do from the mattermost channel, right?

Yes definitely. In your own time. We are just making suggestions on possible workflows that might help people work together remotely. Not everyone knows about project boards and so on. :-)

@jdtournier
Copy link
Author

We want to try to tweet about every project to give them more visibility but we are bit short-staffed on that end. Let's see how much we can do.

We'll be tweeting it out from our side anyway, so you can always just retweet that if you're short on time! I assume there's a hashtag I can use to get your attention?

Otherwise, please consider this project ready for submission!

@Remi-Gau
Copy link
Contributor

I'm also a bit unclear about the onboarding process. I assume interested users will contact us on the mattermost channel, and if we're all happy, they're in, right? Is there a more formal process we should follow here?

Would this answer in our FAQ help?

https://ohbm.github.io/hackathon2020/FAQ/#If%20you%20are%20attending%20the%20OHBM%20brainhack%208

Let me know because it can help me rephrase for other people. 🙏

@jdtournier
Copy link
Author

OK, it helps in that it's clear it's a pretty informal process. They contact us, we discuss. If that's all it is, that's fine. I was just concerned that there was a more formal aspect to it that I'd missed - maybe there's a requirement on our side to vet applicants, and report back to the organisers who is taking part in our project, etc. If that's not the case, that's no problem. 👍

@Remi-Gau
Copy link
Contributor

Remi-Gau commented Jun 14, 2020

We want to try to tweet about every project to give them more visibility but we are bit short-staffed on that end. Let's see how much we can do.

We'll be tweeting it out from our side anyway, so you can always just retweet that if you're short on time! I assume there's a hashtag I can use to get your attention?

Awesome. This is our twitter handle: @OhbmOpen
And the hashtags we have been using.
#OHBMHackathon #OHBM2020 #Brainhack

Otherwise, please consider this project ready for submission!

Goodie. You're in.
I think the project monitors will do another cross-check with you. One again a bit short-staffed and hard to keep track of everything.

@Remi-Gau
Copy link
Contributor

OK, it helps in that it's clear it's a pretty informal process. They contact us, we discuss. If that's all it is, that's fine. I was just concerned that there was a more formal aspect to it that I'd missed - maybe there's a requirement on our side to vet applicants, and report back to the organisers who is taking part in our project, etc. If that's not the case, that's no problem. +1

No it is very much self managed. 😉

Though we would love for you to keep track of who helped you. Our grand idea would be to have at least one post-hacakthon tweet explaining the progress made and with the twitter handles of all the contributors of that project on that hackathon.

@jdtournier
Copy link
Author

All good, thanks!

@jdtournier
Copy link
Author

Sorry, can I just confirm that this project is submitted? Do I need to do anything else? I need to run some errands now, so won't be available later to fix anything if needed...

@Remi-Gau
Copy link
Contributor

Yup project is submitted. You are all set.

There might be some post-submission checks but you are good to go. 👍

@jdtournier
Copy link
Author

Great to hear, thanks for confirming!

@jhlegarreta jhlegarreta added the git-1 can commit and push to a repository label Jun 14, 2020
@jhlegarreta jhlegarreta added unix command line some knowledge of unix command line required Mrtrix Using the Mrtrix software labels Jun 14, 2020
@complexbrains
Copy link
Contributor

complexbrains commented Jun 15, 2020

Dear @jdtournier May I ask you to share your Video channel info at your Mattermost channel and pin it to the channel, please? Could you please let us know regarding completion of this then we will complete the revision. Thank you 🤗

@jdtournier
Copy link
Author

Done. At least I think I've done this right...
https://mattermost.brainhack.org/brainhack/channels/hbmhack-mrpeek

@complexbrains
Copy link
Contributor

Thank you @jdtournier Your project seems ready to go! Welcome aboard! 🤗 🎊

@cmaumet
Copy link
Contributor

cmaumet commented Jun 15, 2020

Hi @jdtournier! Thanks a lot for your project. Unless I am mistaken, In think that your project co-lead (Daan Christiaens) is not registered yet to the event. Can you please ask them to register or list them as project collaborators if they are not joining the event? Thank you!

@dchristiaens
Copy link

I signed up this morning.

@cmaumet
Copy link
Contributor

cmaumet commented Jun 15, 2020

Thank you @dchristiaens! All good now :D

@Naubody Naubody self-assigned this Jun 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Email ok EMEA hub git-1 can commit and push to a repository Hackathon project use this tag for submitted projects Mrtrix Using the Mrtrix software unix command line some knowledge of unix command line required
Projects
None yet
Development

No branches or pull requests

7 participants