diff --git a/_includes/auto_threshold/auto_threshold_act1_galaxy.md b/_includes/auto_threshold/auto_threshold_act1_galaxy.md new file mode 100644 index 00000000..9569b13c --- /dev/null +++ b/_includes/auto_threshold/auto_threshold_act1_galaxy.md @@ -0,0 +1,34 @@ +- Navigate to [Galaxy](https://usergalaxy.eu) +- Upload an image + - In the Tools panel on the left side, click `Upload Data`. + - Click the `Paste/Fetch data` button. + - Paste the URLs of the images : [xy_8bit__nuclei_without_offset.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__nuclei_without_offset.tif) and [xy_8bit__nuclei_with_offset.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__nuclei_with_offset.tif) + - Click the `Start` button and wait for the upload to complete. + - Once the upload is finished, click the `Close` button. The image will now be available in your Galaxy history. +- Apply a threshhold + - In the Tools panel on the left side, search `Threshold image`. + - Choose the tool named `Threshold image with scikit-image`, and click on it. + - Manual threshold + - `xy_8bit__nuclei_without_offset.tif` + - Select the image `xy_8bit__nuclei_without_offset.tif` from the `Select image` dropdown list. + - Select `Manual` from the `Thresholding method` dropdown list. + - Set `Threshold value` to `20`. + - Toggle `Invert output labels` to `Yes` + - Click the `Run Tool` button and wait for the job to finish (The job will turn green). + - Click on the job in your Galaxy history to download the resulting image. + - `xy_8bit__nuclei_with_offset.tif` + - Select the image `xy_8bit__nuclei_with_offset.tif` from the `Select image` dropdown list. + - Select `Manual` from the `Thresholding method` dropdown list. + - Set `Threshold value` to `40`. + - Toggle `Invert output labels` to `Yes` + - Click the `Run Tool` button and wait for the job to finish (The job will turn green). + - Click on the job in your Galaxy history to retrieve the results. + - Auto threshold + - `xy_8bit__nuclei_without_offset.tif` + - Select the image `xy_8bit__nuclei_without_offset.tif` from the `Select image` dropdown list. + - Select `Otsu` from the `Thresholding Method` dropdown list. + - Leave `Offset` value unchanged. + - Toggle `Invert output labels` to `Yes` + - Click the `Run Tool` button and wait for the job to finish (The job will turn green). + - Click on the job in your Galaxy history to retrieve the results. + - Repeat the steps for a different image `xy_8bit__nuclei_with_offset.tif` diff --git a/_includes/binarization/binarization_act1_galaxy.md b/_includes/binarization/binarization_act1_galaxy.md new file mode 100644 index 00000000..bfa407cc --- /dev/null +++ b/_includes/binarization/binarization_act1_galaxy.md @@ -0,0 +1,17 @@ +- Navigate to [Galaxy](https://usergalaxy.eu) +- Upload an image + - In the Tools panel on the left side, click `Upload Data`. + - Click the `Paste/Fetch data` button. + - Paste the URLs of the images : [xy_8bit__two_cells.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__two_cells.tif) + - Click the `Start` button and wait for the upload to complete. + - Once the upload is finished, click the `Close` button. The image will now be available in your Galaxy history. +- Apply a threshhold + - In the Tools panel on the left side, search `Threshold image`. + - Choose the tool named `Threshold image with scikit-image`, and click on it. + - Select the image `xy_8bit__two_cells.tif` from the `Select image` dropdown list. + - Select `Manual` from the `Thresholding method` dropdown list. + - Set `Threshold value` to `49`. + - Toggle `Invert output labels` to `Yes` + - Click the `Run Tool` button and wait for the job to finish (The job will turn green). + - Click on the job in your Galaxy history to download the resulting image. + \ No newline at end of file diff --git a/_includes/binarization/binarization_act2_galaxy.md b/_includes/binarization/binarization_act2_galaxy.md new file mode 100644 index 00000000..6600f631 --- /dev/null +++ b/_includes/binarization/binarization_act2_galaxy.md @@ -0,0 +1,17 @@ +- Navigate to [Galaxy](https://usegalaxy.eu) +- Upload an image + - In the Tools panel on the left side, click `Upload Data`. + - Click the `Paste/Fetch data` button. + - Paste the URLs of the images : [xy_8bit__PCNA.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__PCNA.tif) + - Click the `Start` button and wait for the upload to complete. + - Once the upload is finished, click the `Close` button. The image will now be available in your Galaxy history. +- Apply a threshhold + - In the Tools panel on the left side, search `Threshold image`. + - Choose the tool named `Threshold image with scikit-image`, and click on it. + - Select the image `xy_8bit__PCNA.tif` from the `Select image` dropdown list. + - Select `Manual` from the `Thresholding method` dropdown list. + - Experience with different `Threshold value`, e.g. `5`,`44`,`4.5` + - Toggle `Invert output labels` to `Yes` + - Click the `Run Tool` button and wait for the job to finish (The job will turn green). + - Click on the job in your Galaxy history to download the resulting image. + \ No newline at end of file diff --git a/_includes/lut/lut_act1_galaxy.md b/_includes/lut/lut_act1_galaxy.md new file mode 100644 index 00000000..00c25ab4 --- /dev/null +++ b/_includes/lut/lut_act1_galaxy.md @@ -0,0 +1,19 @@ +- Upload an [image](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__nuclei_high_dynamic_range.tif) to Galaxy + - Go to https://usegalaxy.eu + - In the Tools panel on the left, click `Upload Data` + - Click `Paste/Fetch data` button + - Paste the image url: https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__nuclei_high_dynamic_range.tif and click the `Start` button + - Click the `Close` button after upload finishes, then the image will be available in your Galaxy history. +- Start the Napari Interactive Tool + - In the Tools panel on the left, search for `Run Napari interactive tool` + - Select `xy_8bit_nuclei_high_dynamic_range.tif` from the `Images` dropdown list. + - Click the `Run Tool` button. Once the `Open` link appears at the top of the page, click it to open Napari in a separate browser tab. + - In the Napari browser tab, navigate to `File -> Open File(s)` and select the image `xy_8bit_nuclei_high_dynamic_range.tif` from the `input` folder. +- Change the Contrast settings + - Experiment with different minimum and maximum values of the `contract limits`. + - Notice how, at certain settings, a very dim nucleus becomes visible. +- Explore different LUTs, e.g. + - Go to `File › Open File(s)` + - Select the same image `xy_8bit_nuclei_high_dynamic_range.tif` from the `input` folder. A new layer will appear in the bottom left pane. + - Change the `colormap` to `turbo`, from the layer options in the top left pane. + - Turn on grid mode by clicking the `Grid` button located at the bottom left,second from the right. \ No newline at end of file diff --git a/_includes/lut/lut_act2_galaxy.md b/_includes/lut/lut_act2_galaxy.md new file mode 100644 index 00000000..a9cc1ad2 --- /dev/null +++ b/_includes/lut/lut_act2_galaxy.md @@ -0,0 +1,13 @@ +- Upload one of the above pairs of images to Galaxy + - Go to https://usegalaxy.eu + - In the Tools panel on the left, click `Upload Data` + - Click `Paste/Fetch data` button + - Paste the URLs of the two images(one line per URL) and click the `Start` button + - Click the `Close` button after upload finishes, then the image will be available in your Galaxy history. +- Start the Napari interactive tool + - In the Tools panel on the left, search for `Run Napari interactive tool` + - Select the two uploaded images from the `Images` dropdown list + - Click the `Run Tool` button. Once the `Open` link appears at the top of the page, click it to open Napari in a separate browser tab. + - In the Napari tab, navigate to `File -> Open file(s)`, and select the two images from the `input` folder. + - Turn on grid mode by clicking the `Grid` button located at the bottom left,second from the right. The two images will appear side by side + - Adjust the `contrast limits` and apply the same values to both images to compare them directly \ No newline at end of file diff --git a/_includes/median_filter/median_filter_galaxy.md b/_includes/median_filter/median_filter_galaxy.md new file mode 100644 index 00000000..51f95452 --- /dev/null +++ b/_includes/median_filter/median_filter_galaxy.md @@ -0,0 +1,22 @@ +- Upload the following images to Galaxy + - Navigate to [Galaxy](https://usegalaxy.eu) + - Locate the Tools panel on the left, click the `Upload Data` button. + - Within the `Uupload data` pop-up wintow, Click `Paste/Fetch data` button. + - In the text box, paste the URLs of the following images. Enter each URL on a new line. + - [xy_8bit_binary__squares_different_size.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit_binary__squares_different_size.tif) + - [xy_8bit_binary__large_spot.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit_binary__large_spot.tif) + - [xy_8bit__two_noisy_squares_different_size.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit_binary__large_spot.tif) + - [xy_8bit__PCNA.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__PCNA.tif) + - [xy_8bit_binary__test_structures.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit_binary__test_structures.tif) + + - Click the `Start` button to upload the images. + - Once the upload is finished, click the `Close` button at the bottom of the upload window + - The uploaded images will be available in your Galaxy history on the right panel. +- Apply Median Filter + - In the `Tools` panel, search `Filter 2D image`, and click `Filter 2D image with scikit-image` from the search results + - In Galaxy main window,apply the followings + - `Filter type`: `Median` + - `Radius/Sigma`: Explore different values, such as `1`,`2` or `5` + - `Source file`: click the second button to activate `Multiple datasets`. Select images from the dropdown list. + - Click `Run Tool` + - Depending on the number of input images, you will see the corresponding number of outputs in the `History` panel on the right. Wait for them to turn green and download the resulting images. diff --git a/_includes/multichannel_images/activity1_galaxy.md b/_includes/multichannel_images/activity1_galaxy.md new file mode 100644 index 00000000..0edfe352 --- /dev/null +++ b/_includes/multichannel_images/activity1_galaxy.md @@ -0,0 +1,14 @@ +- Upload an [image](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xyc_16bit__hela-cells.tif) to Galaxy + - Navigate to [Galaxy]( https://usegalaxy.eu) + - In the Tools panel on the left, click `Upload Data`. + - Click the `Paste/Fetch data` button. + - Paste the image URL: `https://github.com/NEUBIAS/training-resources/raw/master/image_data/xyc_16bit__hela-cells.tif` and click the `Start` button. + - After the upload finishes, click the `Close` button. The image will then be available in your Galaxy history. +- Start the Napari Interactive Tool + - In the Tools panel on the left, search for `Run Napari interactive tool`. + - Select `xyc_16bit__hela-cells.tif` from the `Images` dropdown list. + - Click the `Run Tool` button. + - Once the `Open` link once it appears at the top of the page, click it. This will open Napari in a separate browser tab. + - In the Napari tab, select `File -> Open File(s)`, and choose the image `xyc_16bit__hela-cells.tif` from the "input" folder. The image will be displayed in Napari's main window. + - In the layer pane located at the bottom left, right-click the image and select `Split RGB`. + - Experiment with adjusting the contrast of each channel. diff --git a/_includes/pixels/pixels_act1_galaxy.md b/_includes/pixels/pixels_act1_galaxy.md new file mode 100644 index 00000000..594aa6cd --- /dev/null +++ b/_includes/pixels/pixels_act1_galaxy.md @@ -0,0 +1,17 @@ +## Pixel operation in Galaxy + +- Navigate to [Galaxy](https://usegalaxy.eu) +- In the tools panel on the left, click `Upload Data` +- Click `Paste/Fetch data` button +- Paste the URL of [xy_8bit__nuclei_noisy_different_intensity.tif](https://github.com/NEUBIAS/training-resources/raw/master/image_data/xy_8bit__nuclei_noisy_different_intensity.tif) and click `Start` . +- After the upload finishes, click the `Close` button. The image will then be available in your Galaxy history. +- Pixel operations + - In the `Tools` panel, search for `Operate on pixels with ImageJ2`, and click on it. + - In the main window + - `Select image`: select the image ```xy_8bit__nuclei_noisy_different_intensity.tif``` from the dropdown list. + - `Operation`: Explore different operations from the dropdown list. Refer to the `What it does` section for explainations of each operation. + - `Value`: Some operations requires a value, input corresponding the value. + - Click `Run Tool` to start the operation. + - Results will be available in the Galaxy History panel once the process bar turns green. + + diff --git a/_includes/tool_installation/galaxy.md b/_includes/tool_installation/galaxy.md new file mode 100644 index 00000000..9c1b6f00 --- /dev/null +++ b/_includes/tool_installation/galaxy.md @@ -0,0 +1,3 @@ +

Install Galaxy

+ +Install the Galaxy instance. diff --git a/_includes/tool_installation/install_galaxy_eu.md b/_includes/tool_installation/install_galaxy_eu.md new file mode 100644 index 00000000..1b5dd15e --- /dev/null +++ b/_includes/tool_installation/install_galaxy_eu.md @@ -0,0 +1,7 @@ +Galaxy Europe is the biggest Galaxy instance in Europe and one of the biggest worldwide. +- Free registration + - Navigate to usegalaxy.eu + - Click `Log in or Register` from the top menu. + - Click `Register here` to start registration process. + - Fill in the required fields and click the `Create` button. + - A confirmation email will be sent to your email address. Once the email is confirmed, you can start using the Galaxy Europe platform. \ No newline at end of file diff --git a/_includes/tool_installation/install_galaxy_local.md b/_includes/tool_installation/install_galaxy_local.md new file mode 100644 index 00000000..f22a9ae7 --- /dev/null +++ b/_includes/tool_installation/install_galaxy_local.md @@ -0,0 +1,38 @@ + + +To setup a Galaxy server locally, we will first clone the Galaxy github repository, make a few small edits to the galaxy.yaml configuration file, and then start the server. + +1. Clone the github repository with ```release_23.2``` branch. + + git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git + cd galaxy + +2. Add yourself as admin user in ```config/galaxy.yaml``` + + cp config/galaxy.yml.sample config/galaxy.yml + +3. open the ```galaxy.yml``` file with your favorite editor and edit the following line with your email address: + + > admin_users: user@example.org +. +4. Start Galaxy + + sh run.sh + +5. Galaxy will now install all its requirements, which may take a few minutes, when all is finished installing, you should see something like this in your screen: + + > Starting server in PID 9560.\ + > serving on http://localhost:8080 + +6. Open Galaxy +- Open a web browser +- Navigate to ```localhost:8080``` to access Galaxy + +7. Register an account on Galaxy using the email address you added to the ```config/galaxy.yml``` file. Once logged in, verify that you have a menu item named ```Admin``` in your top menu bar. + +8. Pull Galaxy tools from toolshed + - Click on the ```Admin``` menu. + - On the left pane, click on ```Install and Uninstall``` under the ```Tool Management``` section. + - Search for the tools via the ```Search Repositories`` text box on top of the main window. + - Click on the repository name to expand it. + - Click ```Install``` to install the tool into your local Galaxy. \ No newline at end of file diff --git a/_modules/auto_threshold.md b/_modules/auto_threshold.md index 13af5a6f..2dba42e2 100644 --- a/_modules/auto_threshold.md +++ b/_modules/auto_threshold.md @@ -20,7 +20,7 @@ figure: /figures/auto_threshold.png figure_legend: Input images, histograms (Huang threshold - blue, Otsu threshold - orange), binary images (Huang), binary images (Otsu). multiactivities: - - ["auto_threshold/auto_threshold_act1.md", [["ImageJ GUI", "auto_threshold/auto_threshold_act1_imagejgui.md", "markdown"], ["skimage napari", "auto_threshold/auto_threshold_act1_skimage_napari.py", "python"]]] + - ["auto_threshold/auto_threshold_act1.md", [["ImageJ GUI", "auto_threshold/auto_threshold_act1_imagejgui.md", "markdown"], ["skimage napari", "auto_threshold/auto_threshold_act1_skimage_napari.py", "python"],["Galaxy", "auto_threshold/auto_threshold_act1_galaxy.md"]]] - ["auto_threshold/auto_threshold_act2.md", [["ImageJ GUI", "auto_threshold/auto_threshold_act2_imagejgui.md", "markdown"], ["skimage napari", "auto_threshold/auto_threshold_act2_skimage_napari.py", "python"]]] assessment: > diff --git a/_modules/binarization.md b/_modules/binarization.md index 2a8eda03..bc3350f0 100644 --- a/_modules/binarization.md +++ b/_modules/binarization.md @@ -8,7 +8,7 @@ prerequisites: - "[Data types](../datatypes)" objectives: - "Describe the relationship between an intensity image and a derived binary image" - - "Apply a threshold to segment an image into foreground and background regions" + - "Apply threshold to segment an image into foreground and background regions" motivation: | One strategy to detect objects or specific regions in images is to first distinguish so-called background pixels, which do not contain objects or interesting regions from foreground pixels, which mark the areas of interest. @@ -26,8 +26,8 @@ figure: /figures/binarization.png figure_legend: Image before and after applying a threshold of 73 gray values. multiactivities: - - ["binarization/binarization_act1.md", [["ImageJ GUI", "binarization/binarization_act1_imagejgui.md"], ["ImageJ Macro", "binarization/binarization_act1_imagejmacro.ijm"], ["ImageJ Jython", "binarization/binarization_act1_jython.py"], ["skimage napari", "binarization/binarization_act1_skimage_napari.py", "python"]]] - - ["binarization/binarization_act2.md", [["ImageJ GUI", "binarization/binarization_act2_imagejgui.md"], ["ImageJ Macro", "binarization/binarization_act2_imagejmacro.ijm"], ["ImageJ Jython", "binarization/binarization_act2_jython.py"], ["ImageJ Jython + input parameters", "binarization/binarization_act2_jython_inputparameters.py"], ["skimage napari", "binarization/binarization_act2_skimage_napari.py"]]] + - ["binarization/binarization_act1.md", [["ImageJ GUI", "binarization/binarization_act1_imagejgui.md"], ["ImageJ Macro", "binarization/binarization_act1_imagejmacro.ijm"], ["ImageJ Jython", "binarization/binarization_act1_jython.py"], ["skimage napari", "binarization/binarization_act1_skimage_napari.py", "python"],["Galaxy", "binarization/binarization_act1_galaxy.md"]]] + - ["binarization/binarization_act2.md", [["ImageJ GUI", "binarization/binarization_act2_imagejgui.md"], ["ImageJ Macro", "binarization/binarization_act2_imagejmacro.ijm"], ["ImageJ Jython", "binarization/binarization_act2_jython.py"], ["ImageJ Jython + input parameters", "binarization/binarization_act2_jython_inputparameters.py"], ["skimage napari", "binarization/binarization_act2_skimage_napari.py"],["Galaxy", "binarization/binarization_act2_galaxy.md"]]] - ["binarization/binarization_act3.md", [["ImageJ GUI", "binarization/binarization_act3_imagejgui.md"]]] diff --git a/_modules/lut.md b/_modules/lut.md index 96a75f74..69a54568 100644 --- a/_modules/lut.md +++ b/_modules/lut.md @@ -26,10 +26,10 @@ figure_legend: multiactivities: - ["lut/lut_act1.md", [["ImageJ GUI", "lut/lut_act1_imagejgui.md", "markdown"], ["ImageJ Macro", "lut/lut_act1_imagejmacro.ijm", "java"], - ["skimage napari", "lut/lut_act1_skimage_napari.py", "python"]]] + ["skimage napari", "lut/lut_act1_skimage_napari.py", "python"],["Galaxy Napari","lut/lut_act1_galaxy.md"]]] - ["lut/lut_act2.md", [["ImageJ GUI", "lut/lut_act2_imagejgui.md"], ["ImageJ Macro", "lut/lut_act2_imagejmacro.ijm", "java"], - ["skimage napari", "lut/lut_act2_skimage_napari.py", "python"]]] + ["skimage napari", "lut/lut_act2_skimage_napari.py", "python"],["Galaxy Napari","lut/lut_act2_galaxy.md"]]] keypoints: - A LUT has configurable contrast limits that determine the pixel value range that is rendered linearly. diff --git a/_modules/median_filter.md b/_modules/median_filter.md index 5cc7aaf3..451df09b 100644 --- a/_modules/median_filter.md +++ b/_modules/median_filter.md @@ -22,7 +22,7 @@ figure: /figures/median_filter_grayscale.png figure_legend: Median filter example. Left - Raw; Right - After a 5x5 median filter. multiactivities: - - ["median_filter/median_filter.md", [["ImageJ Macro", "median_filter/median_filter_imagejmacro.ijm", "java"], ["skimage napari", "median_filter/median_filter_skimage_napari.py", "python"]]] + - ["median_filter/median_filter.md", [["ImageJ Macro", "median_filter/median_filter_imagejmacro.ijm", "java"], ["skimage napari", "median_filter/median_filter_skimage_napari.py", "python"],["Galaxy", "median_filter/median_filter_galaxy.md"]]] assessment: | diff --git a/_modules/multichannel_images.md b/_modules/multichannel_images.md index b9072071..561dbfda 100644 --- a/_modules/multichannel_images.md +++ b/_modules/multichannel_images.md @@ -36,6 +36,7 @@ activities: - ["ImageJ GUI - Inspect/view channels", "multichannel_images/activity1_imagejgui.md", "markdown"] #- ["binarization/binarization_act1.md", [["ImageJ GUI", "binarization/binarization_act1_imagejgui.md"], ["ImageJ Macro", "binarization/binarization_act1_imagejmacro.ijm"], ["ImageJ Jython", "binarization/binarization_act1_jython.py"], ["skimage napari", "binarization/binarization_act1_skimage_napari.py", "python"]]] - ["ImageJ GUI - Save channels as Tiff/RGB image", "multichannel_images/activity2_imagejgui.md", "markdown"] + - ["Galaxy Napari - Inspect/view channels", "multichannel_images/activity1_galaxy.md", "markdown"] assessment: > diff --git a/_modules/pixels.md b/_modules/pixels.md index 89b818d2..5bf0469c 100644 --- a/_modules/pixels.md +++ b/_modules/pixels.md @@ -26,7 +26,7 @@ figure_legend: Digital image pixel array and gray-scale rendering. This array ( multiactivities: - - ["pixels/pixels_act1.md", [["ImageJ GUI", "pixels/pixels_act1_imagejgui.md"], ["skimage napari", "pixels/pixels_act1_skimage_napari.py"], ["MATLAB", "pixels/pixels_act1_matlab.m"]]] + - ["pixels/pixels_act1.md", [["ImageJ GUI", "pixels/pixels_act1_imagejgui.md"], ["skimage napari", "pixels/pixels_act1_skimage_napari.py"], ["MATLAB", "pixels/pixels_act1_matlab.m"], ["Galaxy", "pixels/pixels_act1_galaxy.md"]]] - ["pixels/pixels_3d_image_inspection.md", [["skimage napari", "pixels/pixels_3d_image_inspection_skimage_napari.py"]]] - ["pixels/collagen_inspection.md", [["ImageJ GUI", "pixels/collagen_inspection_imagejgui.md"]]] diff --git a/_modules/tool_installation.md b/_modules/tool_installation.md index 81ef2c77..f1af193e 100644 --- a/_modules/tool_installation.md +++ b/_modules/tool_installation.md @@ -23,6 +23,8 @@ multiactivities: - ["tool_installation/imagej.md", [["Fiji", "tool_installation/install_fiji.md"], ["IntelliJ", "tool_installation/install_intellij.md"] ]] - ["tool_installation/skimage_napari.md", [["conda", "tool_installation/install_skimage_napari_conda.md"], ["BAND", "tool_installation/install_skimage_napari_BAND.md"] ]] - ["tool_installation/napari_standalone.md", [["desktop download", "tool_installation/install_napari_standalone.md"]]] + - ["tool_installation/galaxy.md", [["Start a local Galaxy", "tool_installation/install_galaxy_local.md"],["Using Galaxy EU", "tool_installation/install_galaxy_eu.md"]]] + assessment: learn_next: