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

Add FAQ, Tips, Tricks section to RTD #1601

Closed
wants to merge 9 commits into from

Conversation

franklin-feingold
Copy link
Contributor

Changes proposed in this pull request

Added a FAQ, Tips, Tricks section to RTD. This initial PR is to initalize this section and transfer the Wiki over to the RTD. Future PRs will address specific documentation issues to be added to this section.

Documentation that should be reviewed

Added FAQ, Tips, Tricks section to RTD

@effigies
Copy link
Member

effigies commented May 2, 2019

@franklin-feingold I cancelled the get*_data jobs. This only needs to pass the documentation build. In the future, if you name your branches with the prefix doc/, only the jobs needed to run the doc build will be run on Circle, saving a lot of time. (No need to change it now.)


**My ``FMRIPREP`` run is hanging...**

There is a Python bug that affects ``FMRIPREP`` when processes are killed for running out of memory. While we are working on finding a solution that does not run up against this bug, this may take some time. This can be most easily resolved by allocating more memory to the process, if possible. Additionally, consider using the ``--low-mem`` flag, which will make some memory optimizations at the cost of disk space in the working directory.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we include information here on how to increase the memory allocation to a Docker container ?

Also, very nit-picky request -- would it be possible to put each sentence on a newline ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR was to more so initialize this page and move over the wiki. To breakdown the PRs I will put that into another (in addition to #1577, #1573, #1570)

Also committed newlining each new sentence

docs/index.rst Outdated
@@ -22,3 +22,4 @@ Contents
contributors
citing
api/index.rst
faq_tips_tricks
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move this between outputs and contributors?

@@ -0,0 +1,31 @@
.. include:: links.rst

FAQ, Tips, and Tricks
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be consistent with the other pages.

Suggested change
FAQ, Tips, and Tricks
=====================
FAQ, Tips, and Tricks

.. include:: links.rst

FAQ, Tips, and Tricks
------------------------------
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
------------------------------
=====================

FAQ, Tips, and Tricks
------------------------------

**Should I run quality control of my images before running ``FMRIPREP``?**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's the rendered result: https://8229-53175327-gh.circle-artifacts.com/0/home/circleci/out/docs/faq_tips_tricks.html

The back-ticks don't seem to work in bold. Also, if we make this a sub-heading, then it will be linkable.

Suggested change
**Should I run quality control of my images before running ``FMRIPREP``?**
Should I run quality control of my images before running fMRIPrep?
------------------------------------------------------------------

When using publicly available datasets, an additional concern is that images may have gone through some kind of preprocessing (see next question).


**What if I find some images have undergone some pre-processing already (e.g. my T1w image is already skull-stripped)?**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not going to try to match the number of characters on this one.

Suggested change
**What if I find some images have undergone some pre-processing already (e.g. my T1w image is already skull-stripped)?**
What if I find some images have undergone some pre-processing already (e.g., my T1w image is already skull-stripped)?
----------------------------------------------------

**What if I find some images have undergone some pre-processing already (e.g. my T1w image is already skull-stripped)?**

These images imply an unknown level of preprocessing (e.g. was it already bias-field corrected?), which makes it difficult to decide on best-practices for further processing.
Hence, supporting such images was considered very low priority for ``FMRIPREP``.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we've generally moved to this format. We should try to be consistent across pages, so maybe have a look before accepting this one.

Suggested change
Hence, supporting such images was considered very low priority for ``FMRIPREP``.
Hence, supporting such images was considered very low priority for fMRIPrep.

So for OpenFMRI, we've been excluding these subjects, and for user-supplied data, we would recommend reverting to the original, defaced, T1w images to ensure more uniform preprocessing.


**My ``FMRIPREP`` run is hanging...**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**My ``FMRIPREP`` run is hanging...**
My fMRIPrep run is hanging...
-----------------------------


**My ``FMRIPREP`` run is hanging...**

There is a Python bug that affects ``FMRIPREP`` when processes are killed for running out of memory.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There is a Python bug that affects ``FMRIPREP`` when processes are killed for running out of memory.
There is a Python bug that affects fMRIPrep when processes are killed for running out of memory.

@franklin-feingold
Copy link
Contributor Author

@effigies thank you for your review! addressed your comments in recent commits

Copy link
Member

@oesteban oesteban left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some suggestions...

FAQ, Tips, and Tricks
-----

**Should I run quality control of my images before running ``FMRIPREP``?**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Should I run quality control of my images before running ``FMRIPREP``?**
**Should I run quality control of my images before running *fMRIPrep*?**

Should I run quality control of my images before running fMRIPrep?
--------------------------------------------------------------------

Yes. You should as well before any other processing/analysis.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Yes. You should as well before any other processing/analysis.
Yes. You should do so before any processing/analysis takes place.

Yes. You should as well before any other processing/analysis.

Oftentimes (more often than we would like), images have fatal artifacts and problems.
Those would not pass any QC check.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Those would not pass any QC check.


Oftentimes (more often than we would like), images have fatal artifacts and problems.
Those would not pass any QC check.
Some other times, QC checks will flag some images that we should carefully track throughout processing.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Some other times, QC checks will flag some images that we should carefully track throughout processing.
Some exclusion criteria for data quality should be pre-specified before QC and any screening
of the original data.
Those exclusion criteria must be designed in agreement with the goals and challenges of the
experimental design.
For instance, when it is planned to run some cortical thickness analysis, images should be excluded
even when they present the most subtle ghosts or other artifacts that may introduce biases in surface
reconstruction.
However, if the same artifactual data was planned to be used just as a reference for spatial
normalization, some of those artifacts should be noted, but may not grant exclusion of the data.



My fMRIPrep run is hanging...
---------------------------------
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
---------------------------------
-----------------------------

My fMRIPrep run is hanging...
---------------------------------

There is a Python bug that affects fMRIPrep when processes are killed for running out of memory.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There is a Python bug that affects fMRIPrep when processes are killed for running out of memory.
When running on Linux platforms (or containerized environments, because they are built around Ubuntu),
there is a Python bug that affects fMRIPrep that drives the Linux kernel to kill processes as a response to
running out of memory.
Depending on the process killed by the kernel, fMRIPrep may crash with a ``BrokenProcessPool`` error
or hang indefinitely, depending on settings.


There is a Python bug that affects fMRIPrep when processes are killed for running out of memory.
While we are working on finding a solution that does not run up against this bug, this may take some time.
This can be most easily resolved by allocating more memory to the process, if possible.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@franklin-feingold
Copy link
Contributor Author

@oesteban Thank you for your review! Please find the latest commit applying your feedback

@oesteban
Copy link
Member

oesteban commented May 5, 2019

Replaced by #1610 (all commits have been kept).

@oesteban oesteban closed this May 5, 2019
oesteban added a commit that referenced this pull request May 6, 2019
DOC: Add FAQ, Tips, Tricks section to RTD (cont. #1601)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants