iRoCS Toolbox  1.1.0
RootSegmentationWorker.hh
Go to the documentation of this file.
1 /**************************************************************************
2  *
3  * Copyright (C) 2015 Thorsten Falk
4  *
5  * Image Analysis Lab, University of Freiburg, Germany
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  *
21  **************************************************************************/
22 
23 #ifndef ROOTSEGMENTATIONWORKER_HH
24 #define ROOTSEGMENTATIONWORKER_HH
25 
26 #ifdef HAVE_CONFIG_H
27 #include <config.hh>
28 #endif
29 
31 
32 #include <libArrayToolbox/Array.hh>
33 
34 namespace iRoCS
35 {
36 
38  blitz::Array<double,3> &data,
39  blitz::TinyVector<double,3> const &elementSizeUm, double sigmaUm,
40  double epsilon = 1e-10, iRoCS::ProgressReporter *pr = NULL);
41 
42  void segmentCells(
44  int normalizationType, int medianWidthPx, double processingElementSizeUm,
45  double varSigmaUm, double varEpsilon, float sigmaHessianUm,
46  bool preDiffusion, int nDiffusionIterations, float zCompensationFactor,
47  double kappa, float deltaT, float l1Threshold, float volumeThresholdUm,
48  int boundaryThicknessPx, std::string const &debugFileName = "",
49  iRoCS::ProgressReporter *pr = NULL);
50 
51 }
52 
53 #endif
Array class derived from blitz++ Arrays for handling microscopic datasets with associated element siz...
void segmentCells(atb::Array< double, 3 > &data, atb::Array< int, 3 > &segmentation, double gamma, int normalizationType, int medianWidthPx, double processingElementSizeUm, double varSigmaUm, double varEpsilon, float sigmaHessianUm, bool preDiffusion, int nDiffusionIterations, float zCompensationFactor, double kappa, float deltaT, float l1Threshold, float volumeThresholdUm, int boundaryThicknessPx, std::string const &debugFileName="", iRoCS::ProgressReporter *pr=NULL)
void varianceNormalization(blitz::Array< double, 3 > &data, blitz::TinyVector< double, 3 > const &elementSizeUm, double sigmaUm, double epsilon=1e-10, iRoCS::ProgressReporter *pr=NULL)