Skip to content

Commit

Permalink
bug fixed when plotting depth profiles
Browse files Browse the repository at this point in the history
Merge branch 'master' of https://github.com/lpolerecky/LANS

# Conflicts:
#	src/lookatnanosims.m
  • Loading branch information
lpolerecky committed Feb 4, 2024
2 parents aea8dc8 + 1ac2b84 commit 5a4a9f8
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 38 deletions.
39 changes: 24 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
# Look@NanoSIMS

<img align="right" src="man/figures/13c-12c_13c-vs-31p-12c_13c-vs-32s-12c_13c-rgb.png">

Look@NanoSIMS (abbreviated as **LANS**) is a software tool for the analysis of NanoSIMS image data acquired by the Cameca NanoSIMS 50L instrument. Although the software itself is [free](https://www.gnu.org/philosophy/free-sw.html), it is distributed as a Matlab code and thus requires a working installation of Matlab (proprietary software) to run.

The software is written and maintained by Lubos Polerecky (LP). The development started in 2008, at the time when LP worked at the Max-Planck Institute for Marine Microbiology in Bremen, Germany. Since 2013, LP continues with the development of the program as part of his permanent employment at Utrecht University in the Netherlands.

Although LANS has matured pretty well over the years, it may still contain bugs or lack features that you might find useful. If you experience problems, find a bug, or would like to have a new feature added to LANS, you can contact LP via email - he will be happy to work with you to fix them and improve the program. Contact detail: `l (dot) polerecky (at) uu (dot) nl`
Although LANS has matured pretty well over the years, it may still contain bugs or lack features that you might find useful. If you experience problems, find a bug, or would like to have a new feature added to LANS, you can contact LP via email - he will be happy to work with you to fix them and improve the program.

Contact detail: `l (dot) polerecky (at) uu (dot) nl`

**Current version: 2023-08-03**
**Current version: 2024-01-18**

## Basic features and functions

Expand Down Expand Up @@ -53,7 +57,7 @@ Although LANS has matured pretty well over the years, it may still contain bugs
- depth profiles in ROIs
- automated reprocessing of previously processed datasets

7. Import of *external* (third-party) images (e.g., TEM, SEM, AFM, fluorescence)
7. Import and alignment of **external images** (e.g., TEM, SEM, AFM, fluorescence)

- image alignment done within LANS
- resampling of NanoSIMS images to match the resolution of the external image
Expand All @@ -71,41 +75,46 @@ There is also a possibility of contacting LP if you have questions about LANS, e

## Download & update

- For convenience, the compressed file containing the latest version of LANS is stored in this [Dropbox folder](https://www.dropbox.com/sh/gyss2uvv5ggu2vl/AABViAmt9WHryEP_xZBrCG_La?dl=0). Click on the *program* folder and then download the file `LANS-latest-src.zip`.
- For convenience, the compressed file containing the latest version of LANS is stored in this [Dropbox folder](https://www.dropbox.com/sh/gyss2uvv5ggu2vl/AABViAmt9WHryEP_xZBrCG_La?dl=0). Click on the `program` folder and then download the file `LANS-latest-src.zip`.
- If you are already using LANS, updating it to the newest version is much easier: just enter `lans_webupdate` in the Matlab console.
- Of course, you can download LANS by pulling the source code from this repository; the complete source code is in the [src](src) folder.
- Of course, you can download LANS by pulling the source code from this github repository; the complete source code is in the [src](src) folder.

## Installation instructions

1. Install Matlab.

- LANS requires Matlab, version 2019b or newer (available from www.mathworks.com). Using the Matlab version 2019b is most recommended to ensure that all features of LANS work correctly.
- When installing Matlab, you will need the *core* Matlab. Additionally, although Matlab comes with many *toolboxes*, you will only need these two: *image processing* and *statistics and machine learning*.
- LANS requires Matlab, version 2019b or newer (available from www.mathworks.com). Using the **Matlab version 2019b is most recommended** to ensure that all features of LANS work as designed.
- When installing Matlab, you will need the **core** Matlab and two **toolboxes**: **image processing** and **statistics and machine learning**.
- You will need a license to install and run Matlab. It may be that your institution has a site-license, thus it is useful to check whether this is the case (e.g., your university may have one for all students and academic staff).
- **Important note:** Some output generated by LANS, e.g., information generated during the alignment of planes and stored in the file `xyalign.mat`, may not be read correctly by the Matlab version 2019b when it was generated by a newer Matlab version. Thus, if you plan to use LANS in collaboration with other people, e.g., by sharing the files generated by LANS among each other, it is recommended that everyone in the team uses the same Matlab version.

2. Install LaTeX.

- This software is required to enable export of graphical output as tagged PDF documents. This is a free software.
- To install LaTeX, use one of the well-known LaTeX distributions for your operating system, as described on [this website](https://www.latex-project.org/get/) (e.g., *texlive* for Linux, *MikTeX* for Windows, *MacTex* for MacOS; note that the on-line LaTeX service, such as Overleaf, is insufficient).
- To install LaTeX, use one of the well-known LaTeX distributions for your operating system, as described on [this website](https://www.latex-project.org/get/) (e.g., **texlive** for Linux, **MikTeX** for Windows, **MacTex** for MacOS; note that the on-line LaTeX service, such as Overleaf, is insufficient).
- To correctly integrate LaTeX with LANS, you will need the following executables and packages installed and working:
- executables: *epstopdf*, *pdflatex*
- packages: *graphicx*, *geometry*, *hyperref*
- executables: **epstopdf**, **pdflatex**
- packages: **graphicx**, **geometry**, **hyperref**
- **Important note:** If you have never used LaTeX on your computer, it may be that some LaTeX packages, particularly `geometry` and `hyperref`, are not installed during the 'standard' installation procedure. As a result, the execution of *Export LaTeX and PDF output* (main LANS) or *Export images for each variable as PDF* (Process metafile) may get stuck (due to the missing packages). If this happens, you can fix this problem by compiling the `tex` file using the native LaTeX environment (e.g., open the `tex` file in the default editor of your LaTeX distribution and then compile it into a `pdf` output from there). When doing so, the missing LaTeX packages should automatically be installed and the `tex` file should compile into a correct `pdf` output. Once this is done, the automatic LaTeX compilation from within Matlab will also work.

3. Install software for decompressing zip files.

- This software is required to enable loading of compressed datasets (`im.zip` files) by LANS. This is a useful feature because `im.zip` files have roughly a 10-fold lower size than the original `im` files.
- *7-Zip* (freeware) is recommended for Windows.
- *unzip* is available by default on Linux and MacOS systems.
- This software is required to enable loading of compressed nanoSIMS datasets (`im.zip` files) by LANS. This is a useful feature because `im.zip` files have roughly a 10-fold smaller size than the original `im` files.
- **7-Zip** (freeware) is recommended for Windows.
- **unzip** is available by default on Linux and MacOS systems.

4. Install and run LANS

- Download LANS as described above.
- Unzip `LANS-latest-src.zip` to a folder of your choice.
- Rename the `src` folder to a more reasoname name (e.g., `LANS-2024-01-18`).
- Start Matlab and set the current folder to the folder where you installed LANS.
- Enter `lookatnanosims` in Matlab console. This should open the main LANS
- Enter `lookatnanosims` in the Matlab console. This should open the main LANS
graphical user interface, as shown below. You can start from there, as explained in the manual.

<center><img src="man/figures/lans-main-GUI.png"></img></center>
<p align="center">
<img src="man/figures/lans-main-GUI.png">
</p>

## Acknowledgement

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/figs_win/add_remove_cells_tool.fig
Binary file not shown.
Binary file modified src/figs_win/additional_settings_gui.fig
Binary file not shown.
Binary file modified src/figs_win/align_exernal_nanosims.fig
Binary file not shown.
Binary file modified src/figs_win/depth_profiles_masses_gui.fig
Binary file not shown.
Binary file modified src/figs_win/lateral_profile_gui.fig
Binary file not shown.
38 changes: 20 additions & 18 deletions src/lans_paths.m
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,22 @@

global be_verbous
be_verbous = 1;

if exist('start_lans_quietly')
be_verbous = ~start_lans_quietly;
end

% path to the core LANS functions
addpath([pwd,filesep,'fnc'],'-end');

% path to add-on functions required for post-processing (processing metafiles)
addpath([pwd,filesep,'postprocess'],'-end');

% system-specific settings; modify with care!
% OS-specific settings; modify with care!
if ismac

% MAC-OS users may have a bit of trouble to get things working and look
% good
% Warning: MAC-OS users may have a bit of trouble to get things working
% and look good

% path to fig files that define the graphical user interface (GUI)
addpath([pwd,filesep,'figs_win'],'-end');
Expand All @@ -24,10 +26,9 @@
fprintf(1,'Starting Look@NanoSIMS on a Mac-OS platform.\n');
end

% make sure that the PATH to pdflatex, epstopdf and gs binaries are
% correct
% make sure that the PATH to pdflatex, epstopdf and gs binaries are correct
LATEXDIR = '/Library/TeX/texbin/';
GSDIR = '/usr/local/bin/';
GSDIR = '/usr/local/bin/';

% no need to make any changes here
oldpath = getenv('PATH');
Expand All @@ -42,11 +43,11 @@
end

% Command for unzipping im.zip files, including the command options.
% Here I use unzip, which is by default available on MacOS systems.
% Here unzip is used, which is by default available on MacOS systems.
UNZIP_COMMAND = 'unzip -q';
ZIP_COMMAND = 'zip -r';
ZIP_COMMAND = 'zip -r';

% PDF viewer (fill path to the pdf viewer on your system
% PDF viewer (path to the pdf viewer on the system)
PDF_VIEWER = 'open';

GUI_FONTSIZE = 10;
Expand All @@ -63,15 +64,15 @@
end

% Command for unzipping im.zip files, including the command options.
% Here I use unzip, which is normally available on a unix system.
% Here unzip is used, which is normally available on a unix system.
UNZIP_COMMAND = 'unzip -q';
ZIP_COMMAND = 'zip -r';
ZIP_COMMAND = 'zip -r';

% PDF viewer
% PDF viewer; normally this should work, but (see next)
%PDF_VIEWER = 'xreader';

% if calling system(PDF_VIEWER) without the LD_LIBRARY_PATH set
% gives a segmentation fault, use the following way to define it:
% Sometimes, calling system(PDF_VIEWER) without the LD_LIBRARY_PATH
% set properly gives a segmentation fault. In this case, this should fix it:
PDF_VIEWER = 'LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu; xreader';

GUI_FONTSIZE = 10;
Expand All @@ -88,14 +89,15 @@
end

% Command for unzipping im.zip files, including the command options.
% Here I use 7zip, which is a freeware program available for MS Windows.
% Here 7zip is used, which is a freeware program available for MS Windows.
% Note that the full path to the program needs to be specified here,
% because, based on limited experience, the path to the program is not,
% because, based on anecdotal experience, the path to the program is not,
% or may not be, known within the Matlab environment.
UNZIP_COMMAND = '"c:\Program Files\7-Zip\7z.exe" e';
ZIP_COMMAND = '"c:\Program Files\7-Zip\7z.exe" a';
ZIP_COMMAND = '"c:\Program Files\7-Zip\7z.exe" a';

% PDF viewer
% PDF viewer (SumatraPDF is recommended: not the prettiest, but it is
% a very small file and automatically reloads the PDF when PDF is updated)
PDF_VIEWER = '"c:\Program Files\SumatraPDF\SumatraPDF.exe"';

GUI_FONTSIZE = 8;
Expand Down
8 changes: 4 additions & 4 deletions src/lans_webupdate.m
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
% Script for updating LANS from a zip file located at a given webaddress.
% Script for updating LANS from a zip file located at a given web-address.
% No warranty, but it should work like this: Your old LANS is backed up,
% the latest version is downloaded and unzipped, the MATLABPATH is updated.

% (c) L. Polerecky, 2018-06-07, Utrecht University

LANS_webaddress = 'https://www.dropbox.com/s/adapr3pulmhlrnl/LANS-latest-src.zip?dl=1';
LANS_zipfile = 'f1.zip';
LANS_webaddress = 'https://www.dropbox.com/s/adapr3pulmhlrnl/LANS-latest-src.zip?dl=1';
LANS_zipfile = 'f1.zip';
LANS_backup_fname = ['LANS-backup-' datestr(now,'YYYY-mm-DD_HH-MM-SS') '.zip'];
LANS_new_fname = 'LANS-current';
LANS_new_fname = 'LANS-current';

aa=0;
fprintf(1,'*** This will update your Look@NanoSIMS program. ***\n');
Expand Down
4 changes: 3 additions & 1 deletion src/lookatnanosims.m
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,9 @@
% will be calculated by accumulating only the
% specified planes.
LANS_version = '2024-01-18'; % Bugs in align_external_image due to autoscale fixed.
% Zero-outside-ROIs in RGB overlay images implemented.
% Win-GUI's updated.
% Zero-outside-ROIs implemented also for RGB images.
% Bug about plane numbering fixed when plotting depth profiles

% name of the external image file (empty by default)
EXTERNAL_IMAGEFILE = '';
Expand Down

0 comments on commit 5a4a9f8

Please sign in to comment.