-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from CGK-Laboratory/WIP
update main
- Loading branch information
Showing
19 changed files
with
411 additions
and
490 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Set default behavior to automatically normalize line endings. | ||
* text=auto | ||
|
||
# Force batch scripts to always use CRLF line endings so that if a repo is accessed | ||
# in Windows via a file share from Linux, the scripts will work. | ||
*.{cmd,[cC][mM][dD]} text eol=crlf | ||
*.{bat,[bB][aA][tT]} text eol=crlf | ||
*.{ics,[iI][cC][sS]} text eol=crlf | ||
|
||
# Force bash scripts to always use LF line endings so that if a repo is accessed | ||
# in Unix via a file share from Windows, the scripts will work. | ||
*.sh text eol=lf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
*.tif | ||
*.asv | ||
*.xls | ||
/CellSellect_3DMorph_resources | ||
/CellSellect_3DMorph |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
<deployment-project plugin="plugin.ezdeploy" plugin-version="1.0"> | ||
<configuration build-checksum="636892865" file="C:\Users\user\Documents\GitHub\3DMorph\CellSellect_3DMorph.prj" location="C:\Users\user\Documents\GitHub\3DMorph" name="CellSellect_3DMorph" preferred-package-location="C:\Users\user\Documents\GitHub\3DMorph\CellSellect_3DMorph\for_redistribution" preferred-package-type="package.type.exe" target="target.ezdeploy.standalone" target-name="Application Compiler"> | ||
<param.appname>CellSellect_3DMorph</param.appname> | ||
<param.icon>${PROJECT_ROOT}\CellSellect_3DMorph_resources\icon.ico</param.icon> | ||
<param.icons> | ||
<file>${PROJECT_ROOT}\CellSellect_3DMorph_resources\icon_48.png</file> | ||
<file>${PROJECT_ROOT}\CellSellect_3DMorph_resources\icon_32.png</file> | ||
<file>${PROJECT_ROOT}\CellSellect_3DMorph_resources\icon_24.png</file> | ||
<file>${PROJECT_ROOT}\CellSellect_3DMorph_resources\icon_16.png</file> | ||
</param.icons> | ||
<param.version>1.0</param.version> | ||
<param.authnamewatermark>Fernando Julian Chaure</param.authnamewatermark> | ||
<param.email /> | ||
<param.company /> | ||
<param.summary>CellSelect-3DMorph isolates and analyzes cells morphology from 3D images, by reconstructing the cells from fluorescent pixels.</param.summary> | ||
<param.description>The code allows to obtain different parameters including cell volume (exact number of pixels occupied by the cell), territorial volume (maximum cell extension), ramification index (territorial volume/cell volume), branch length, number of branch and end points, and more. CellSelect uses the 3D Morph developed code but now adds the possibility of rejecting any cell that is not complete in the frame of the image (x, y and z positions) and which the morphology cannot be calculated properly.</param.description> | ||
<param.screenshot>${PROJECT_ROOT}\Functions\CGKlab-splash.png</param.screenshot> | ||
<param.guid /> | ||
<param.installpath.string>\CellSellect_3DMorph\</param.installpath.string> | ||
<param.installpath.combo>option.installpath.programfiles</param.installpath.combo> | ||
<param.logo /> | ||
<param.install.notes>This installer only includes MEX functions compiled for Windows.</param.install.notes> | ||
<param.target.install.notes /> | ||
<param.intermediate>${PROJECT_ROOT}\CellSellect_3DMorph\for_testing</param.intermediate> | ||
<param.files.only>${PROJECT_ROOT}\CellSellect_3DMorph\for_redistribution_files_only</param.files.only> | ||
<param.output>${PROJECT_ROOT}\CellSellect_3DMorph\for_redistribution</param.output> | ||
<param.logdir>${PROJECT_ROOT}\CellSellect_3DMorph</param.logdir> | ||
<param.enable.clean.build>false</param.enable.clean.build> | ||
<param.user.defined.mcr.options /> | ||
<param.target.type>subtarget.standalone</param.target.type> | ||
<param.support.packages /> | ||
<param.web.mcr>true</param.web.mcr> | ||
<param.package.mcr>false</param.package.mcr> | ||
<param.no.mcr>false</param.no.mcr> | ||
<param.web.mcr.name>CellSelect-3DMorph_installer</param.web.mcr.name> | ||
<param.package.mcr.name>MyAppInstaller_mcr</param.package.mcr.name> | ||
<param.no.mcr.name>MyAppInstaller_app</param.no.mcr.name> | ||
<param.windows.command.prompt>true</param.windows.command.prompt> | ||
<param.create.log>false</param.create.log> | ||
<param.log.file /> | ||
<param.native.matlab>false</param.native.matlab> | ||
<param.checkbox>false</param.checkbox> | ||
<param.example /> | ||
<param.help.text>Syntax | ||
-? | ||
|
||
Input Arguments | ||
-? print help on how to use the application | ||
input arguments</param.help.text> | ||
<unset> | ||
<param.version /> | ||
<param.email /> | ||
<param.company /> | ||
<param.guid /> | ||
<param.installpath.string /> | ||
<param.installpath.combo /> | ||
<param.logo /> | ||
<param.target.install.notes /> | ||
<param.intermediate /> | ||
<param.files.only /> | ||
<param.output /> | ||
<param.logdir /> | ||
<param.enable.clean.build /> | ||
<param.user.defined.mcr.options /> | ||
<param.target.type /> | ||
<param.support.packages /> | ||
<param.web.mcr /> | ||
<param.package.mcr /> | ||
<param.no.mcr /> | ||
<param.package.mcr.name /> | ||
<param.no.mcr.name /> | ||
<param.windows.command.prompt /> | ||
<param.create.log /> | ||
<param.log.file /> | ||
<param.native.matlab /> | ||
<param.checkbox /> | ||
<param.example /> | ||
</unset> | ||
<fileset.main> | ||
<file>${PROJECT_ROOT}\Script_3DMorph.m</file> | ||
</fileset.main> | ||
<fileset.resources> | ||
<file>${PROJECT_ROOT}\Functions</file> | ||
<file>${PROJECT_ROOT}\Script_3DMorph.m</file> | ||
</fileset.resources> | ||
<fileset.package /> | ||
<fileset.depfun /> | ||
<build-deliverables> | ||
<file location="${PROJECT_ROOT}\CellSellect_3DMorph\for_testing" name="CellSellect_3DMorph.exe" optional="false">C:\Users\user\Documents\GitHub\3DMorph\CellSellect_3DMorph\for_testing\CellSellect_3DMorph.exe</file> | ||
<file location="${PROJECT_ROOT}\CellSellect_3DMorph\for_testing" name="splash.png" optional="false">C:\Users\user\Documents\GitHub\3DMorph\CellSellect_3DMorph\for_testing\splash.png</file> | ||
<file location="${PROJECT_ROOT}\CellSellect_3DMorph\for_testing" name="readme.txt" optional="true">C:\Users\user\Documents\GitHub\3DMorph\CellSellect_3DMorph\for_testing\readme.txt</file> | ||
</build-deliverables> | ||
<workflow /> | ||
<matlab> | ||
<root>C:\Program Files\MATLAB\R2020a</root> | ||
<toolboxes> | ||
<toolbox name="matlabcoder" /> | ||
<toolbox name="neuralnetwork" /> | ||
</toolboxes> | ||
<toolbox> | ||
<matlabcoder> | ||
<enabled>true</enabled> | ||
</matlabcoder> | ||
</toolbox> | ||
<toolbox> | ||
<neuralnetwork> | ||
<enabled>true</enabled> | ||
</neuralnetwork> | ||
</toolbox> | ||
</matlab> | ||
<platform> | ||
<unix>false</unix> | ||
<mac>false</mac> | ||
<windows>true</windows> | ||
<win2k>false</win2k> | ||
<winxp>false</winxp> | ||
<vista>false</vista> | ||
<linux>false</linux> | ||
<solaris>false</solaris> | ||
<osver>10.0</osver> | ||
<os32>false</os32> | ||
<os64>true</os64> | ||
<arch>win64</arch> | ||
<matlab>true</matlab> | ||
</platform> | ||
</configuration> | ||
</deployment-project> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
104 changes: 52 additions & 52 deletions
104
Functions/FastMarching_version3b/msfm3d.m → ...ions/FastMarching_version3b/msfm3d_info.m
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,52 @@ | ||
% This function MSFM3D calculates the shortest distance from a list of | ||
% points to all other pixels in an image volume, using the | ||
% Multistencil Fast Marching Method (MSFM). This method gives more accurate | ||
% distances by using second order derivatives and cross neighbours. | ||
% | ||
% T=msfm3d(F, SourcePoints, UseSecond, UseCross) | ||
% | ||
% inputs, | ||
% F: The 3D speed image. The speed function must always be larger | ||
% than zero (min value 1e-8), otherwise some regions will | ||
% never be reached because the time will go to infinity. | ||
% SourcePoints : A list of starting points [3 x N] (distance zero) | ||
% UseSecond : Boolean Set to true if not only first but also second | ||
% order derivatives are used (default) | ||
% UseCross : Boolean Set to true if also cross neighbours | ||
% are used (default) | ||
% outputs, | ||
% T : Image with distance from SourcePoints to all pixels | ||
% | ||
% Note: | ||
% First you need to compile the c file "mex msfm3d.c" | ||
% | ||
% Literature : M. Sabry Hassouna et Al. Multistencils Fast Marching | ||
% Methods: A Highly Accurate Solution to the Eikonal Equation on | ||
% Cartesian Domains | ||
% | ||
% Example, | ||
% % compile the needed mex file | ||
% mex msfm3d.c | ||
% | ||
% SourcePoint = [21; 21; 21]; | ||
% SpeedImage = ones([41 41 41]); | ||
% [X,Y,Z] = ndgrid(1:41, 1:41, 1:41); | ||
% T1 = sqrt((X-SourcePoint(1)).^2 + (Y-SourcePoint(2)).^2 + (Z-SourcePoint(3)).^2); | ||
% | ||
% % Run fast marching 1th order, 1th order multi stencil | ||
% % and 2th orde and 2th orde multi stencil | ||
% | ||
% tic; T1_FMM1 = msfm3d(SpeedImage, SourcePoint, false, false); toc; | ||
% tic; T1_MSFM1 = msfm3d(SpeedImage, SourcePoint, false, true); toc; | ||
% tic; T1_FMM2 = msfm3d(SpeedImage, SourcePoint, true, false); toc; | ||
% tic; T1_MSFM2 = msfm3d(SpeedImage, SourcePoint, true, true); toc; | ||
% | ||
% % Show results | ||
% fprintf('\nResults with T1 (Matlab)\n'); | ||
% fprintf('Method L1 L2 Linf\n'); | ||
% Results = cellfun(@(x)([mean(abs(T1(:)-x(:))) mean((T1(:)-x(:)).^2) max(abs(T1(:)-x(:)))]), {T1_FMM1(:) T1_MSFM1(:) T1_FMM2(:) T1_MSFM2(:)}, 'UniformOutput',false); | ||
% fprintf('FMM1: %9.5f %9.5f %9.5f\n', Results{1}(1), Results{1}(2), Results{1}(3)); | ||
% fprintf('MSFM1: %9.5f %9.5f %9.5f\n', Results{2}(1), Results{2}(2), Results{2}(3)); | ||
% fprintf('FMM2: %9.5f %9.5f %9.5f\n', Results{3}(1), Results{3}(2), Results{3}(3)); | ||
% fprintf('MSFM2: %9.5f %9.5f %9.5f\n', Results{4}(1), Results{4}(2), Results{4}(3)); | ||
|
||
% This function MSFM3D calculates the shortest distance from a list of | ||
% points to all other pixels in an image volume, using the | ||
% Multistencil Fast Marching Method (MSFM). This method gives more accurate | ||
% distances by using second order derivatives and cross neighbours. | ||
% | ||
% T=msfm3d(F, SourcePoints, UseSecond, UseCross) | ||
% | ||
% inputs, | ||
% F: The 3D speed image. The speed function must always be larger | ||
% than zero (min value 1e-8), otherwise some regions will | ||
% never be reached because the time will go to infinity. | ||
% SourcePoints : A list of starting points [3 x N] (distance zero) | ||
% UseSecond : Boolean Set to true if not only first but also second | ||
% order derivatives are used (default) | ||
% UseCross : Boolean Set to true if also cross neighbours | ||
% are used (default) | ||
% outputs, | ||
% T : Image with distance from SourcePoints to all pixels | ||
% | ||
% Note: | ||
% First you need to compile the c file "mex msfm3d.c" | ||
% | ||
% Literature : M. Sabry Hassouna et Al. Multistencils Fast Marching | ||
% Methods: A Highly Accurate Solution to the Eikonal Equation on | ||
% Cartesian Domains | ||
% | ||
% Example, | ||
% % compile the needed mex file | ||
% mex msfm3d.c | ||
% | ||
% SourcePoint = [21; 21; 21]; | ||
% SpeedImage = ones([41 41 41]); | ||
% [X,Y,Z] = ndgrid(1:41, 1:41, 1:41); | ||
% T1 = sqrt((X-SourcePoint(1)).^2 + (Y-SourcePoint(2)).^2 + (Z-SourcePoint(3)).^2); | ||
% | ||
% % Run fast marching 1th order, 1th order multi stencil | ||
% % and 2th orde and 2th orde multi stencil | ||
% | ||
% tic; T1_FMM1 = msfm3d(SpeedImage, SourcePoint, false, false); toc; | ||
% tic; T1_MSFM1 = msfm3d(SpeedImage, SourcePoint, false, true); toc; | ||
% tic; T1_FMM2 = msfm3d(SpeedImage, SourcePoint, true, false); toc; | ||
% tic; T1_MSFM2 = msfm3d(SpeedImage, SourcePoint, true, true); toc; | ||
% | ||
% % Show results | ||
% fprintf('\nResults with T1 (Matlab)\n'); | ||
% fprintf('Method L1 L2 Linf\n'); | ||
% Results = cellfun(@(x)([mean(abs(T1(:)-x(:))) mean((T1(:)-x(:)).^2) max(abs(T1(:)-x(:)))]), {T1_FMM1(:) T1_MSFM1(:) T1_FMM2(:) T1_MSFM2(:)}, 'UniformOutput',false); | ||
% fprintf('FMM1: %9.5f %9.5f %9.5f\n', Results{1}(1), Results{1}(2), Results{1}(3)); | ||
% fprintf('MSFM1: %9.5f %9.5f %9.5f\n', Results{2}(1), Results{2}(2), Results{2}(3)); | ||
% fprintf('FMM2: %9.5f %9.5f %9.5f\n', Results{3}(1), Results{3}(2), Results{3}(3)); | ||
% fprintf('MSFM2: %9.5f %9.5f %9.5f\n', Results{4}(1), Results{4}(2), Results{4}(3)); | ||
|
Binary file not shown.
Oops, something went wrong.