All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.ac.sussex.gdsc.smlm.data.config.FitProtos Maven / Gradle / Ivy

Go to download

Genome Damage and Stability Centre SMLM Package Software for single molecule localisation microscopy (SMLM)

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: uk/ac/sussex/gdsc/smlm/data/config/fit.proto

package uk.ac.sussex.gdsc.smlm.data.config;

public final class FitProtos {
  private FitProtos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * 
   * Define the fitting solver.
   * 
* * Protobuf enum {@code uk.ac.sussex.gdsc.smlm.data.config.FitSolver} */ public enum FitSolver implements com.google.protobuf.ProtocolMessageEnum { /** *
     * Custom Levenberg-Marquardt least-squares estimation.
     * Uses the Hessian matrix with a Newton optimisation method that requires inversion of the Hessian.
     * 
* * LVM_LSE = 0; */ LVM_LSE(0), /** *
     * Custom Levenberg-Marquardt maximum-likelihood estimation for Poisson data using the method of Laurence & Chromy (2010) Nature Methods 7, 338-339.
     * Uses the Hessian matrix with a Newton optimisation method that requires inversion of the Hessian.
     * Parameters are bounded using a hard-stop limit to prevent negative function values being produced.
     * 
* * LVM_MLE = 1; */ LVM_MLE(1), /** *
     * Custom Levenberg-Marquardt weighted least-squares estimation for Poisson data using the method of Ruisheng, et al (2017) Optical Express 25, Issue 10, pp 11701-11716.
     * Uses the Hessian matrix with a Newton optimisation method that requires inversion of the Hessian.
     * 
* * LVM_WLSE = 2; */ LVM_WLSE(2), /** *
     * Maximum Likelihood Estimator.
     * Uses a configurable noise model for the probability density function of the data.
     * 
* * MLE = 3; */ MLE(3), /** *
     * Maximum Likelihood Estimator for Poisson data using the method of Smith et al, (2010) Nature Methods 7, 373-375.
     * Uses a Newton-Raphson update step for fast convergence close to the optimum. The algorithm is unstable when the initial parameter estimate is poor.
     * 
* * FAST_MLE = 4; */ FAST_MLE(4), /** *
     * Maximum Likelihood Estimator for Poisson data using the method of Smith et al, (2010) Nature Methods 7, 373-375.
     * Uses a Newton-Raphson (NR) update step for fast convergence close to the optimum. The algorithm uses a backtracking algorithm to choose an appropriate step in the search direction when the NR step results in a worse estimation.
     * 
* * BACKTRACKING_FAST_MLE = 5 [deprecated = true]; */ @java.lang.Deprecated BACKTRACKING_FAST_MLE(5), UNRECOGNIZED(-1), ; /** *
     * Custom Levenberg-Marquardt least-squares estimation.
     * Uses the Hessian matrix with a Newton optimisation method that requires inversion of the Hessian.
     * 
* * LVM_LSE = 0; */ public static final int LVM_LSE_VALUE = 0; /** *
     * Custom Levenberg-Marquardt maximum-likelihood estimation for Poisson data using the method of Laurence & Chromy (2010) Nature Methods 7, 338-339.
     * Uses the Hessian matrix with a Newton optimisation method that requires inversion of the Hessian.
     * Parameters are bounded using a hard-stop limit to prevent negative function values being produced.
     * 
* * LVM_MLE = 1; */ public static final int LVM_MLE_VALUE = 1; /** *
     * Custom Levenberg-Marquardt weighted least-squares estimation for Poisson data using the method of Ruisheng, et al (2017) Optical Express 25, Issue 10, pp 11701-11716.
     * Uses the Hessian matrix with a Newton optimisation method that requires inversion of the Hessian.
     * 
* * LVM_WLSE = 2; */ public static final int LVM_WLSE_VALUE = 2; /** *
     * Maximum Likelihood Estimator.
     * Uses a configurable noise model for the probability density function of the data.
     * 
* * MLE = 3; */ public static final int MLE_VALUE = 3; /** *
     * Maximum Likelihood Estimator for Poisson data using the method of Smith et al, (2010) Nature Methods 7, 373-375.
     * Uses a Newton-Raphson update step for fast convergence close to the optimum. The algorithm is unstable when the initial parameter estimate is poor.
     * 
* * FAST_MLE = 4; */ public static final int FAST_MLE_VALUE = 4; /** *
     * Maximum Likelihood Estimator for Poisson data using the method of Smith et al, (2010) Nature Methods 7, 373-375.
     * Uses a Newton-Raphson (NR) update step for fast convergence close to the optimum. The algorithm uses a backtracking algorithm to choose an appropriate step in the search direction when the NR step results in a worse estimation.
     * 
* * BACKTRACKING_FAST_MLE = 5 [deprecated = true]; */ @java.lang.Deprecated public static final int BACKTRACKING_FAST_MLE_VALUE = 5; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static FitSolver valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static FitSolver forNumber(int value) { switch (value) { case 0: return LVM_LSE; case 1: return LVM_MLE; case 2: return LVM_WLSE; case 3: return MLE; case 4: return FAST_MLE; case 5: return BACKTRACKING_FAST_MLE; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< FitSolver> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public FitSolver findValueByNumber(int number) { return FitSolver.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.getDescriptor().getEnumTypes().get(0); } private static final FitSolver[] VALUES = values(); public static FitSolver valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private FitSolver(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:uk.ac.sussex.gdsc.smlm.data.config.FitSolver) } /** *
   * Define the search method for the configurable maximum likelihood estimator.
   * 
* * Protobuf enum {@code uk.ac.sussex.gdsc.smlm.data.config.SearchMethod} */ public enum SearchMethod implements com.google.protobuf.ProtocolMessageEnum { /** *
     * Search using Powell's conjugate direction method using hard limits to ensure a bounded search
     * 
* * POWELL_BOUNDED = 0; */ POWELL_BOUNDED(0), /** *
     * Search using Powell's conjugate direction method
     * 
* * POWELL = 1; */ POWELL(1), /** *
     * Search using Powell's conjugate direction method using a mapping adapter to ensure a bounded search
     * 
* * POWELL_ADAPTER = 2; */ POWELL_ADAPTER(2), /** *
     * Search using Powell's Bound Optimization BY Quadratic Approximation (BOBYQA) algorithm.
     * BOBYQA could also be considered as a replacement of any derivative-based optimizer when the derivatives are
     * approximated by finite differences. This is a bounded search.
     * 
* * BOBYQA = 3; */ BOBYQA(3), /** *
     * Search using active Covariance Matrix Adaptation Evolution Strategy (CMA-ES).
     * The CMA-ES is a reliable stochastic optimization method which should be applied if derivative-based methods,
     * e.g. conjugate gradient, fail due to a rugged search landscape. This is a bounded search.
     * 
* * CMAES = 4; */ CMAES(4), /** *
     * Search using a non-linear conjugate gradient optimiser. Use the Fletcher-Reeves update formulas for the
     * conjugate search directions.
     * This is a bounded search using simple truncation of coordinates at the bounds of the search space.
     * 
* * CONJUGATE_GRADIENT_FR = 5; */ CONJUGATE_GRADIENT_FR(5), /** *
     * Search using a non-linear conjugate gradient optimiser. Use the Polak-Ribière update formulas for the
     * conjugate search directions.
     * This is a bounded search using simple truncation of coordinates at the bounds of the search space.
     * 
* * CONJUGATE_GRADIENT_PR = 6; */ CONJUGATE_GRADIENT_PR(6), /** *
     * Search using a Broyden-Fletcher-Goldfarb-Shanno (BFGS) gradient optimiser.
     * 
* * BFGS = 7 [deprecated = true]; */ @java.lang.Deprecated BFGS(7), UNRECOGNIZED(-1), ; /** *
     * Search using Powell's conjugate direction method using hard limits to ensure a bounded search
     * 
* * POWELL_BOUNDED = 0; */ public static final int POWELL_BOUNDED_VALUE = 0; /** *
     * Search using Powell's conjugate direction method
     * 
* * POWELL = 1; */ public static final int POWELL_VALUE = 1; /** *
     * Search using Powell's conjugate direction method using a mapping adapter to ensure a bounded search
     * 
* * POWELL_ADAPTER = 2; */ public static final int POWELL_ADAPTER_VALUE = 2; /** *
     * Search using Powell's Bound Optimization BY Quadratic Approximation (BOBYQA) algorithm.
     * BOBYQA could also be considered as a replacement of any derivative-based optimizer when the derivatives are
     * approximated by finite differences. This is a bounded search.
     * 
* * BOBYQA = 3; */ public static final int BOBYQA_VALUE = 3; /** *
     * Search using active Covariance Matrix Adaptation Evolution Strategy (CMA-ES).
     * The CMA-ES is a reliable stochastic optimization method which should be applied if derivative-based methods,
     * e.g. conjugate gradient, fail due to a rugged search landscape. This is a bounded search.
     * 
* * CMAES = 4; */ public static final int CMAES_VALUE = 4; /** *
     * Search using a non-linear conjugate gradient optimiser. Use the Fletcher-Reeves update formulas for the
     * conjugate search directions.
     * This is a bounded search using simple truncation of coordinates at the bounds of the search space.
     * 
* * CONJUGATE_GRADIENT_FR = 5; */ public static final int CONJUGATE_GRADIENT_FR_VALUE = 5; /** *
     * Search using a non-linear conjugate gradient optimiser. Use the Polak-Ribière update formulas for the
     * conjugate search directions.
     * This is a bounded search using simple truncation of coordinates at the bounds of the search space.
     * 
* * CONJUGATE_GRADIENT_PR = 6; */ public static final int CONJUGATE_GRADIENT_PR_VALUE = 6; /** *
     * Search using a Broyden-Fletcher-Goldfarb-Shanno (BFGS) gradient optimiser.
     * 
* * BFGS = 7 [deprecated = true]; */ @java.lang.Deprecated public static final int BFGS_VALUE = 7; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static SearchMethod valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static SearchMethod forNumber(int value) { switch (value) { case 0: return POWELL_BOUNDED; case 1: return POWELL; case 2: return POWELL_ADAPTER; case 3: return BOBYQA; case 4: return CMAES; case 5: return CONJUGATE_GRADIENT_FR; case 6: return CONJUGATE_GRADIENT_PR; case 7: return BFGS; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< SearchMethod> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public SearchMethod findValueByNumber(int number) { return SearchMethod.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.getDescriptor().getEnumTypes().get(1); } private static final SearchMethod[] VALUES = values(); public static SearchMethod valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private SearchMethod(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:uk.ac.sussex.gdsc.smlm.data.config.SearchMethod) } /** *
   * Define the method to use when the Fast MLE line search direction is not in the same direction as
   * that defined by the first derivative gradient.
   * 
* * Protobuf enum {@code uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod} */ public enum LineSearchMethod implements com.google.protobuf.ProtocolMessageEnum { /** *
     * Do nothing to handle the incorrect orientation. The default solver action is taken.
     * This may cause the search to take an invalid move or it may error.
     * 
* * NONE = 0; */ NONE(0), /** *
     * Ignore any search direction that is in the opposite direction to the first derivative gradient.
     * 
* * IGNORE = 1; */ IGNORE(1), /** *
     * Progressively ignore any search direction that is in the opposite direction to the
     * first derivative gradient. Do this in order of the magnitude of the error.
     * 
* * PARTIAL_IGNORE = 2; */ PARTIAL_IGNORE(2), UNRECOGNIZED(-1), ; /** *
     * Do nothing to handle the incorrect orientation. The default solver action is taken.
     * This may cause the search to take an invalid move or it may error.
     * 
* * NONE = 0; */ public static final int NONE_VALUE = 0; /** *
     * Ignore any search direction that is in the opposite direction to the first derivative gradient.
     * 
* * IGNORE = 1; */ public static final int IGNORE_VALUE = 1; /** *
     * Progressively ignore any search direction that is in the opposite direction to the
     * first derivative gradient. Do this in order of the magnitude of the error.
     * 
* * PARTIAL_IGNORE = 2; */ public static final int PARTIAL_IGNORE_VALUE = 2; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static LineSearchMethod valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static LineSearchMethod forNumber(int value) { switch (value) { case 0: return NONE; case 1: return IGNORE; case 2: return PARTIAL_IGNORE; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< LineSearchMethod> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public LineSearchMethod findValueByNumber(int number) { return LineSearchMethod.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.getDescriptor().getEnumTypes().get(2); } private static final LineSearchMethod[] VALUES = values(); public static LineSearchMethod valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private LineSearchMethod(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod) } /** *
   * Define the method to use for precision calculation.
   * 
* * Protobuf enum {@code uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod} */ public enum PrecisionMethod implements com.google.protobuf.ProtocolMessageEnum { /** *
     * Not available. The results may have been loaded from a source where the precision was computed
     * using another method, or the results may have no precision.
     * 
* * PRECISION_METHOD_NA = 0; */ PRECISION_METHOD_NA(0), /** *
     * Estimate using the formula of Mortensen, et al (2010) Nature Methods 7, 377-383.
     * The background noise component (b2) is computed using the variance of the fit region.
     * Note that computation of precision using this formula is relevant only for (EM-)CCD cameras
     * with a single Gaussian 2D PSF in the region. The formula is exact if the data is a 2D Gaussian
     * but can be used to approximate localisation precision on any spot-type PSF. There are formulas
     * for least squares or maximum likelihood estimators.
     * 
* * MORTENSEN = 1; */ MORTENSEN(1), /** *
     * Estimate using the formula of Mortensen, et al (2010) Nature Methods 7, 377-383.
     * The background noise component (b2) is computed using the fitted background of the fit region.
     * Note that computation of precision using this formula is relevant only for (EM-)CCD cameras
     * with a single Gaussian 2D PSF in the region. The formula is exact if the data is a 2D Gaussian
     * but can be used to approximate localisation precision on any spot-type PSF. There are formulas
     * for least squares or maximum likelihood estimators.
     * 
* * MORTENSEN_LOCAL_BACKGROUND = 2; */ MORTENSEN_LOCAL_BACKGROUND(2), /** *
     * Compute the Cramér-Rao lower bound (CRLB) assuming a Poisson process. This uses the method of
     * Smith et al, (2010). Fast, single-molecule localisation that achieves theoretically minimum
     * uncertainty. Nature Methods 7, 373-375 (supplementary note), Eq. 9. It has been extended
     * to a per-pixel noise component in Huang et al, (2015). Video-rate nanoscopy using sCMOS
     * camera–specific single-molecule localization algorithms. Nature Methods 10, 653–658.
     * Note that this formula is good when the number of photons is high. Due to the approximation
     * of Gaussian noise as a Poisson distribution the likelihood function used to generate the
     * Fisher information is poor when the number of photons is low, leading to an approximation
     * of the true CRLB of a Poisson-Gaussian distribution.
     * This method is suitable for a CCD or sCMOS camera. The Poisson noise model is less suitable
     * for an EMCCD camera (since the EM component modelled by a Gamma distribution is neglected)
     * but may still be used as an approximation.
     * 
* * POISSON_CRLB = 3; */ POISSON_CRLB(3), UNRECOGNIZED(-1), ; /** *
     * Not available. The results may have been loaded from a source where the precision was computed
     * using another method, or the results may have no precision.
     * 
* * PRECISION_METHOD_NA = 0; */ public static final int PRECISION_METHOD_NA_VALUE = 0; /** *
     * Estimate using the formula of Mortensen, et al (2010) Nature Methods 7, 377-383.
     * The background noise component (b2) is computed using the variance of the fit region.
     * Note that computation of precision using this formula is relevant only for (EM-)CCD cameras
     * with a single Gaussian 2D PSF in the region. The formula is exact if the data is a 2D Gaussian
     * but can be used to approximate localisation precision on any spot-type PSF. There are formulas
     * for least squares or maximum likelihood estimators.
     * 
* * MORTENSEN = 1; */ public static final int MORTENSEN_VALUE = 1; /** *
     * Estimate using the formula of Mortensen, et al (2010) Nature Methods 7, 377-383.
     * The background noise component (b2) is computed using the fitted background of the fit region.
     * Note that computation of precision using this formula is relevant only for (EM-)CCD cameras
     * with a single Gaussian 2D PSF in the region. The formula is exact if the data is a 2D Gaussian
     * but can be used to approximate localisation precision on any spot-type PSF. There are formulas
     * for least squares or maximum likelihood estimators.
     * 
* * MORTENSEN_LOCAL_BACKGROUND = 2; */ public static final int MORTENSEN_LOCAL_BACKGROUND_VALUE = 2; /** *
     * Compute the Cramér-Rao lower bound (CRLB) assuming a Poisson process. This uses the method of
     * Smith et al, (2010). Fast, single-molecule localisation that achieves theoretically minimum
     * uncertainty. Nature Methods 7, 373-375 (supplementary note), Eq. 9. It has been extended
     * to a per-pixel noise component in Huang et al, (2015). Video-rate nanoscopy using sCMOS
     * camera–specific single-molecule localization algorithms. Nature Methods 10, 653–658.
     * Note that this formula is good when the number of photons is high. Due to the approximation
     * of Gaussian noise as a Poisson distribution the likelihood function used to generate the
     * Fisher information is poor when the number of photons is low, leading to an approximation
     * of the true CRLB of a Poisson-Gaussian distribution.
     * This method is suitable for a CCD or sCMOS camera. The Poisson noise model is less suitable
     * for an EMCCD camera (since the EM component modelled by a Gamma distribution is neglected)
     * but may still be used as an approximation.
     * 
* * POISSON_CRLB = 3; */ public static final int POISSON_CRLB_VALUE = 3; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static PrecisionMethod valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static PrecisionMethod forNumber(int value) { switch (value) { case 0: return PRECISION_METHOD_NA; case 1: return MORTENSEN; case 2: return MORTENSEN_LOCAL_BACKGROUND; case 3: return POISSON_CRLB; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< PrecisionMethod> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public PrecisionMethod findValueByNumber(int number) { return PrecisionMethod.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.getDescriptor().getEnumTypes().get(3); } private static final PrecisionMethod[] VALUES = values(); public static PrecisionMethod valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private PrecisionMethod(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod) } /** *
   * Define the type of filter used for identifying candidate peaks.
   * 
* * Protobuf enum {@code uk.ac.sussex.gdsc.smlm.data.config.DataFilterType} */ public enum DataFilterType implements com.google.protobuf.ProtocolMessageEnum { /** *
     * Use a single filter
     * 
* * SINGLE = 0; */ SINGLE(0), /** *
     * Use a difference filter (the second subtracted from the first)
     * 
* * DIFFERENCE = 1; */ DIFFERENCE(1), /** *
     * Use a jury of multiple filters
     * 
* * JURY = 2; */ JURY(2), UNRECOGNIZED(-1), ; /** *
     * Use a single filter
     * 
* * SINGLE = 0; */ public static final int SINGLE_VALUE = 0; /** *
     * Use a difference filter (the second subtracted from the first)
     * 
* * DIFFERENCE = 1; */ public static final int DIFFERENCE_VALUE = 1; /** *
     * Use a jury of multiple filters
     * 
* * JURY = 2; */ public static final int JURY_VALUE = 2; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static DataFilterType valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static DataFilterType forNumber(int value) { switch (value) { case 0: return SINGLE; case 1: return DIFFERENCE; case 2: return JURY; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< DataFilterType> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public DataFilterType findValueByNumber(int number) { return DataFilterType.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.getDescriptor().getEnumTypes().get(4); } private static final DataFilterType[] VALUES = values(); public static DataFilterType valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private DataFilterType(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:uk.ac.sussex.gdsc.smlm.data.config.DataFilterType) } /** *
   * Define the method used to filter the input data before identifying candidate peaks
   * 
* * Protobuf enum {@code uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod} */ public enum DataFilterMethod implements com.google.protobuf.ProtocolMessageEnum { /** *
     * Use a mean within a specified area
     * 
* * MEAN = 0; */ MEAN(0), /** *
     * Use a mean within a specified box area. The box has integer size.
     * 
* * BLOCK_MEAN = 1; */ BLOCK_MEAN(1), /** *
     * Use a mean within a specified circle area
     * 
* * CIRCULAR_MEAN = 2; */ CIRCULAR_MEAN(2), /** *
     * Use a Gaussian with a specified radius
     * 
* * GAUSSIAN = 3; */ GAUSSIAN(3), /** *
     * Use a median within a specified box area. The box has integer size.
     * 
* * MEDIAN = 4; */ MEDIAN(4), UNRECOGNIZED(-1), ; /** *
     * Use a mean within a specified area
     * 
* * MEAN = 0; */ public static final int MEAN_VALUE = 0; /** *
     * Use a mean within a specified box area. The box has integer size.
     * 
* * BLOCK_MEAN = 1; */ public static final int BLOCK_MEAN_VALUE = 1; /** *
     * Use a mean within a specified circle area
     * 
* * CIRCULAR_MEAN = 2; */ public static final int CIRCULAR_MEAN_VALUE = 2; /** *
     * Use a Gaussian with a specified radius
     * 
* * GAUSSIAN = 3; */ public static final int GAUSSIAN_VALUE = 3; /** *
     * Use a median within a specified box area. The box has integer size.
     * 
* * MEDIAN = 4; */ public static final int MEDIAN_VALUE = 4; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static DataFilterMethod valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static DataFilterMethod forNumber(int value) { switch (value) { case 0: return MEAN; case 1: return BLOCK_MEAN; case 2: return CIRCULAR_MEAN; case 3: return GAUSSIAN; case 4: return MEDIAN; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< DataFilterMethod> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public DataFilterMethod findValueByNumber(int number) { return DataFilterMethod.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.getDescriptor().getEnumTypes().get(5); } private static final DataFilterMethod[] VALUES = values(); public static DataFilterMethod valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private DataFilterMethod(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod) } /** *
   * Define the methods for noise estimation.
   * 
* * Protobuf enum {@code uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod} */ public enum NoiseEstimatorMethod implements com.google.protobuf.ProtocolMessageEnum { /** *
     * Use all pixels
     * 
* * ALL_PIXELS = 0; */ ALL_PIXELS(0), /** *
     * Use a range around the lowest pixel in the image
     * 
* * LOWEST_PIXELS = 1; */ LOWEST_PIXELS(1), /** *
     * Use the psuedo-residuals and calculate the least median of squares
     * 
* * RESIDUALS_LEAST_MEDIAN_OF_SQUARES = 2; */ RESIDUALS_LEAST_MEDIAN_OF_SQUARES(2), /** *
     * Use the psuedo-residuals and calculate the least trimmed of squares
     * 
* * RESIDUALS_LEAST_TRIMMED_OF_SQUARES = 3; */ RESIDUALS_LEAST_TRIMMED_OF_SQUARES(3), /** *
     * Use the psuedo-residuals and calculate the least mean of squares
     * 
* * RESIDUALS_LEAST_MEAN_OF_SQUARES = 4; */ RESIDUALS_LEAST_MEAN_OF_SQUARES(4), /** *
     * Use the psuedo-residuals ignoring image border and calculate the least median of squares
     * 
* * QUICK_RESIDUALS_LEAST_MEDIAN_OF_SQUARES = 5; */ QUICK_RESIDUALS_LEAST_MEDIAN_OF_SQUARES(5), /** *
     * Use the psuedo-residuals ignoring image border and calculate the least trimmed of squares
     * 
* * QUICK_RESIDUALS_LEAST_TRIMMED_OF_SQUARES = 6; */ QUICK_RESIDUALS_LEAST_TRIMMED_OF_SQUARES(6), /** *
     * Use the psuedo-residuals ignoring image border and calculate the least mean of squares
     * 
* * QUICK_RESIDUALS_LEAST_MEAN_OF_SQUARES = 7; */ QUICK_RESIDUALS_LEAST_MEAN_OF_SQUARES(7), UNRECOGNIZED(-1), ; /** *
     * Use all pixels
     * 
* * ALL_PIXELS = 0; */ public static final int ALL_PIXELS_VALUE = 0; /** *
     * Use a range around the lowest pixel in the image
     * 
* * LOWEST_PIXELS = 1; */ public static final int LOWEST_PIXELS_VALUE = 1; /** *
     * Use the psuedo-residuals and calculate the least median of squares
     * 
* * RESIDUALS_LEAST_MEDIAN_OF_SQUARES = 2; */ public static final int RESIDUALS_LEAST_MEDIAN_OF_SQUARES_VALUE = 2; /** *
     * Use the psuedo-residuals and calculate the least trimmed of squares
     * 
* * RESIDUALS_LEAST_TRIMMED_OF_SQUARES = 3; */ public static final int RESIDUALS_LEAST_TRIMMED_OF_SQUARES_VALUE = 3; /** *
     * Use the psuedo-residuals and calculate the least mean of squares
     * 
* * RESIDUALS_LEAST_MEAN_OF_SQUARES = 4; */ public static final int RESIDUALS_LEAST_MEAN_OF_SQUARES_VALUE = 4; /** *
     * Use the psuedo-residuals ignoring image border and calculate the least median of squares
     * 
* * QUICK_RESIDUALS_LEAST_MEDIAN_OF_SQUARES = 5; */ public static final int QUICK_RESIDUALS_LEAST_MEDIAN_OF_SQUARES_VALUE = 5; /** *
     * Use the psuedo-residuals ignoring image border and calculate the least trimmed of squares
     * 
* * QUICK_RESIDUALS_LEAST_TRIMMED_OF_SQUARES = 6; */ public static final int QUICK_RESIDUALS_LEAST_TRIMMED_OF_SQUARES_VALUE = 6; /** *
     * Use the psuedo-residuals ignoring image border and calculate the least mean of squares
     * 
* * QUICK_RESIDUALS_LEAST_MEAN_OF_SQUARES = 7; */ public static final int QUICK_RESIDUALS_LEAST_MEAN_OF_SQUARES_VALUE = 7; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static NoiseEstimatorMethod valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static NoiseEstimatorMethod forNumber(int value) { switch (value) { case 0: return ALL_PIXELS; case 1: return LOWEST_PIXELS; case 2: return RESIDUALS_LEAST_MEDIAN_OF_SQUARES; case 3: return RESIDUALS_LEAST_TRIMMED_OF_SQUARES; case 4: return RESIDUALS_LEAST_MEAN_OF_SQUARES; case 5: return QUICK_RESIDUALS_LEAST_MEDIAN_OF_SQUARES; case 6: return QUICK_RESIDUALS_LEAST_TRIMMED_OF_SQUARES; case 7: return QUICK_RESIDUALS_LEAST_MEAN_OF_SQUARES; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< NoiseEstimatorMethod> internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public NoiseEstimatorMethod findValueByNumber(int number) { return NoiseEstimatorMethod.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.getDescriptor().getEnumTypes().get(6); } private static final NoiseEstimatorMethod[] VALUES = values(); public static NoiseEstimatorMethod valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private NoiseEstimatorMethod(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod) } public interface FitSolverSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings) com.google.protobuf.MessageOrBuilder { /** *
     * Set to true to fix the PSF using the initial parameters
     * 
* * bool fixed_psf = 1; * @return The fixedPsf. */ boolean getFixedPsf(); /** *
     * Set to true to disable background fitting
     * 
* * bool disable_background_fitting = 2; * @return The disableBackgroundFitting. */ boolean getDisableBackgroundFitting(); /** *
     * Set to true to disable signal intensity fitting
     * 
* * bool disable_signal_fitting = 3; * @return The disableSignalFitting. */ boolean getDisableSignalFitting(); /** *
     * The type of fit solver
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @return The enum numeric value on the wire for fitSolver. */ int getFitSolverValue(); /** *
     * The type of fit solver
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @return The fitSolver. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver getFitSolver(); /** *
     * Set to true to use a fixed number of iterations during fitting
     * 
* * bool fixed_iterations = 5; * @return The fixedIterations. */ boolean getFixedIterations(); /** *
     * The maximum/fixed iterations to use during fitting.
     * If not using fixed iterations then fitting will fail if this limit is reached.
     * 
* * int32 max_iterations = 6; * @return The maxIterations. */ int getMaxIterations(); /** *
     * The relative threshold for convergence on the function score. Set to negative to disable.
     * 
* * double relative_threshold = 7; * @return The relativeThreshold. */ double getRelativeThreshold(); /** *
     * The absolute threshold for convergence on the function score. Set to negative to disable.
     * 
* * double absolute_threshold = 8; * @return The absoluteThreshold. */ double getAbsoluteThreshold(); /** *
     * The relative threshold for convergence on the function parameters. Set to negative to disable.
     * 
* * double parameter_relative_threshold = 9; * @return The parameterRelativeThreshold. */ double getParameterRelativeThreshold(); /** *
     * The absolute threshold for convergence on the function parameters. Set to negative to disable.
     * 
* * double parameter_absolute_threshold = 10; * @return The parameterAbsoluteThreshold. */ double getParameterAbsoluteThreshold(); /** *
     * The initial lambda parameter for the Levenberg-Marquardt algorithm
     * 
* * double lambda = 11; * @return The lambda. */ double getLambda(); /** *
     * The search method to use for the configurable maximum likelihood estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @return The enum numeric value on the wire for searchMethod. */ int getSearchMethodValue(); /** *
     * The search method to use for the configurable maximum likelihood estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @return The searchMethod. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod getSearchMethod(); /** *
     * Set to true to use the function gradient during line minimisation, i.e. find the
     * parameters where the gradient is zero. The default is the to minimise the function value.
     * 
* * bool gradient_line_minimisation = 13; * @return The gradientLineMinimisation. */ boolean getGradientLineMinimisation(); /** *
     * Set to true to model the camera noise in the configurable maximum likelihood estimator.
     * 
* * bool model_camera = 14; * @return The modelCamera. */ boolean getModelCamera(); /** *
     * The maximum number of function evaluations in the configurable maximum likelihood estimator.
     * 
* * int32 max_function_evaluations = 15; * @return The maxFunctionEvaluations. */ int getMaxFunctionEvaluations(); /** *
     * Set to true to use parameter clamping
     * 
* * bool use_clamping = 16; * @return The useClamping. */ boolean getUseClamping(); /** *
     * Set to true to use dynamic parameter clamping, i.e. update the clamp values when the step direction changes
     * 
* * bool use_dynamic_clamping = 17; * @return The useDynamicClamping. */ boolean getUseDynamicClamping(); /** *
     * The initial clamp values for each of the PSF parameters.
     * 
* * repeated double clamp_values = 18; * @return A list containing the clampValues. */ java.util.List getClampValuesList(); /** *
     * The initial clamp values for each of the PSF parameters.
     * 
* * repeated double clamp_values = 18; * @return The count of clampValues. */ int getClampValuesCount(); /** *
     * The initial clamp values for each of the PSF parameters.
     * 
* * repeated double clamp_values = 18; * @param index The index of the element to return. * @return The clampValues at the given index. */ double getClampValues(int index); /** *
     * The line search method to use for the Fast MLE estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @return The enum numeric value on the wire for lineSearchMethod. */ int getLineSearchMethodValue(); /** *
     * The line search method to use for the Fast MLE estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @return The lineSearchMethod. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod getLineSearchMethod(); } /** *
   * Define settings for the fit solver.
   * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings} */ public static final class FitSolverSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings) FitSolverSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use FitSolverSettings.newBuilder() to construct. private FitSolverSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private FitSolverSettings() { fitSolver_ = 0; searchMethod_ = 0; clampValues_ = emptyDoubleList(); lineSearchMethod_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new FitSolverSettings(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.Builder.class); } public static final int FIXED_PSF_FIELD_NUMBER = 1; private boolean fixedPsf_ = false; /** *
     * Set to true to fix the PSF using the initial parameters
     * 
* * bool fixed_psf = 1; * @return The fixedPsf. */ @java.lang.Override public boolean getFixedPsf() { return fixedPsf_; } public static final int DISABLE_BACKGROUND_FITTING_FIELD_NUMBER = 2; private boolean disableBackgroundFitting_ = false; /** *
     * Set to true to disable background fitting
     * 
* * bool disable_background_fitting = 2; * @return The disableBackgroundFitting. */ @java.lang.Override public boolean getDisableBackgroundFitting() { return disableBackgroundFitting_; } public static final int DISABLE_SIGNAL_FITTING_FIELD_NUMBER = 3; private boolean disableSignalFitting_ = false; /** *
     * Set to true to disable signal intensity fitting
     * 
* * bool disable_signal_fitting = 3; * @return The disableSignalFitting. */ @java.lang.Override public boolean getDisableSignalFitting() { return disableSignalFitting_; } public static final int FIT_SOLVER_FIELD_NUMBER = 4; private int fitSolver_ = 0; /** *
     * The type of fit solver
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @return The enum numeric value on the wire for fitSolver. */ @java.lang.Override public int getFitSolverValue() { return fitSolver_; } /** *
     * The type of fit solver
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @return The fitSolver. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver getFitSolver() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver.forNumber(fitSolver_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver.UNRECOGNIZED : result; } public static final int FIXED_ITERATIONS_FIELD_NUMBER = 5; private boolean fixedIterations_ = false; /** *
     * Set to true to use a fixed number of iterations during fitting
     * 
* * bool fixed_iterations = 5; * @return The fixedIterations. */ @java.lang.Override public boolean getFixedIterations() { return fixedIterations_; } public static final int MAX_ITERATIONS_FIELD_NUMBER = 6; private int maxIterations_ = 0; /** *
     * The maximum/fixed iterations to use during fitting.
     * If not using fixed iterations then fitting will fail if this limit is reached.
     * 
* * int32 max_iterations = 6; * @return The maxIterations. */ @java.lang.Override public int getMaxIterations() { return maxIterations_; } public static final int RELATIVE_THRESHOLD_FIELD_NUMBER = 7; private double relativeThreshold_ = 0D; /** *
     * The relative threshold for convergence on the function score. Set to negative to disable.
     * 
* * double relative_threshold = 7; * @return The relativeThreshold. */ @java.lang.Override public double getRelativeThreshold() { return relativeThreshold_; } public static final int ABSOLUTE_THRESHOLD_FIELD_NUMBER = 8; private double absoluteThreshold_ = 0D; /** *
     * The absolute threshold for convergence on the function score. Set to negative to disable.
     * 
* * double absolute_threshold = 8; * @return The absoluteThreshold. */ @java.lang.Override public double getAbsoluteThreshold() { return absoluteThreshold_; } public static final int PARAMETER_RELATIVE_THRESHOLD_FIELD_NUMBER = 9; private double parameterRelativeThreshold_ = 0D; /** *
     * The relative threshold for convergence on the function parameters. Set to negative to disable.
     * 
* * double parameter_relative_threshold = 9; * @return The parameterRelativeThreshold. */ @java.lang.Override public double getParameterRelativeThreshold() { return parameterRelativeThreshold_; } public static final int PARAMETER_ABSOLUTE_THRESHOLD_FIELD_NUMBER = 10; private double parameterAbsoluteThreshold_ = 0D; /** *
     * The absolute threshold for convergence on the function parameters. Set to negative to disable.
     * 
* * double parameter_absolute_threshold = 10; * @return The parameterAbsoluteThreshold. */ @java.lang.Override public double getParameterAbsoluteThreshold() { return parameterAbsoluteThreshold_; } public static final int LAMBDA_FIELD_NUMBER = 11; private double lambda_ = 0D; /** *
     * The initial lambda parameter for the Levenberg-Marquardt algorithm
     * 
* * double lambda = 11; * @return The lambda. */ @java.lang.Override public double getLambda() { return lambda_; } public static final int SEARCH_METHOD_FIELD_NUMBER = 12; private int searchMethod_ = 0; /** *
     * The search method to use for the configurable maximum likelihood estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @return The enum numeric value on the wire for searchMethod. */ @java.lang.Override public int getSearchMethodValue() { return searchMethod_; } /** *
     * The search method to use for the configurable maximum likelihood estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @return The searchMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod getSearchMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod.forNumber(searchMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod.UNRECOGNIZED : result; } public static final int GRADIENT_LINE_MINIMISATION_FIELD_NUMBER = 13; private boolean gradientLineMinimisation_ = false; /** *
     * Set to true to use the function gradient during line minimisation, i.e. find the
     * parameters where the gradient is zero. The default is the to minimise the function value.
     * 
* * bool gradient_line_minimisation = 13; * @return The gradientLineMinimisation. */ @java.lang.Override public boolean getGradientLineMinimisation() { return gradientLineMinimisation_; } public static final int MODEL_CAMERA_FIELD_NUMBER = 14; private boolean modelCamera_ = false; /** *
     * Set to true to model the camera noise in the configurable maximum likelihood estimator.
     * 
* * bool model_camera = 14; * @return The modelCamera. */ @java.lang.Override public boolean getModelCamera() { return modelCamera_; } public static final int MAX_FUNCTION_EVALUATIONS_FIELD_NUMBER = 15; private int maxFunctionEvaluations_ = 0; /** *
     * The maximum number of function evaluations in the configurable maximum likelihood estimator.
     * 
* * int32 max_function_evaluations = 15; * @return The maxFunctionEvaluations. */ @java.lang.Override public int getMaxFunctionEvaluations() { return maxFunctionEvaluations_; } public static final int USE_CLAMPING_FIELD_NUMBER = 16; private boolean useClamping_ = false; /** *
     * Set to true to use parameter clamping
     * 
* * bool use_clamping = 16; * @return The useClamping. */ @java.lang.Override public boolean getUseClamping() { return useClamping_; } public static final int USE_DYNAMIC_CLAMPING_FIELD_NUMBER = 17; private boolean useDynamicClamping_ = false; /** *
     * Set to true to use dynamic parameter clamping, i.e. update the clamp values when the step direction changes
     * 
* * bool use_dynamic_clamping = 17; * @return The useDynamicClamping. */ @java.lang.Override public boolean getUseDynamicClamping() { return useDynamicClamping_; } public static final int CLAMP_VALUES_FIELD_NUMBER = 18; @SuppressWarnings("serial") private com.google.protobuf.Internal.DoubleList clampValues_; /** *
     * The initial clamp values for each of the PSF parameters.
     * 
* * repeated double clamp_values = 18; * @return A list containing the clampValues. */ @java.lang.Override public java.util.List getClampValuesList() { return clampValues_; } /** *
     * The initial clamp values for each of the PSF parameters.
     * 
* * repeated double clamp_values = 18; * @return The count of clampValues. */ public int getClampValuesCount() { return clampValues_.size(); } /** *
     * The initial clamp values for each of the PSF parameters.
     * 
* * repeated double clamp_values = 18; * @param index The index of the element to return. * @return The clampValues at the given index. */ public double getClampValues(int index) { return clampValues_.getDouble(index); } private int clampValuesMemoizedSerializedSize = -1; public static final int LINE_SEARCH_METHOD_FIELD_NUMBER = 19; private int lineSearchMethod_ = 0; /** *
     * The line search method to use for the Fast MLE estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @return The enum numeric value on the wire for lineSearchMethod. */ @java.lang.Override public int getLineSearchMethodValue() { return lineSearchMethod_; } /** *
     * The line search method to use for the Fast MLE estimator
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @return The lineSearchMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod getLineSearchMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod.forNumber(lineSearchMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod.UNRECOGNIZED : result; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); if (fixedPsf_ != false) { output.writeBool(1, fixedPsf_); } if (disableBackgroundFitting_ != false) { output.writeBool(2, disableBackgroundFitting_); } if (disableSignalFitting_ != false) { output.writeBool(3, disableSignalFitting_); } if (fitSolver_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver.LVM_LSE.getNumber()) { output.writeEnum(4, fitSolver_); } if (fixedIterations_ != false) { output.writeBool(5, fixedIterations_); } if (maxIterations_ != 0) { output.writeInt32(6, maxIterations_); } if (java.lang.Double.doubleToRawLongBits(relativeThreshold_) != 0) { output.writeDouble(7, relativeThreshold_); } if (java.lang.Double.doubleToRawLongBits(absoluteThreshold_) != 0) { output.writeDouble(8, absoluteThreshold_); } if (java.lang.Double.doubleToRawLongBits(parameterRelativeThreshold_) != 0) { output.writeDouble(9, parameterRelativeThreshold_); } if (java.lang.Double.doubleToRawLongBits(parameterAbsoluteThreshold_) != 0) { output.writeDouble(10, parameterAbsoluteThreshold_); } if (java.lang.Double.doubleToRawLongBits(lambda_) != 0) { output.writeDouble(11, lambda_); } if (searchMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod.POWELL_BOUNDED.getNumber()) { output.writeEnum(12, searchMethod_); } if (gradientLineMinimisation_ != false) { output.writeBool(13, gradientLineMinimisation_); } if (modelCamera_ != false) { output.writeBool(14, modelCamera_); } if (maxFunctionEvaluations_ != 0) { output.writeInt32(15, maxFunctionEvaluations_); } if (useClamping_ != false) { output.writeBool(16, useClamping_); } if (useDynamicClamping_ != false) { output.writeBool(17, useDynamicClamping_); } if (getClampValuesList().size() > 0) { output.writeUInt32NoTag(146); output.writeUInt32NoTag(clampValuesMemoizedSerializedSize); } for (int i = 0; i < clampValues_.size(); i++) { output.writeDoubleNoTag(clampValues_.getDouble(i)); } if (lineSearchMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod.NONE.getNumber()) { output.writeEnum(19, lineSearchMethod_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (fixedPsf_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(1, fixedPsf_); } if (disableBackgroundFitting_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(2, disableBackgroundFitting_); } if (disableSignalFitting_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(3, disableSignalFitting_); } if (fitSolver_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver.LVM_LSE.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(4, fitSolver_); } if (fixedIterations_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(5, fixedIterations_); } if (maxIterations_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(6, maxIterations_); } if (java.lang.Double.doubleToRawLongBits(relativeThreshold_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(7, relativeThreshold_); } if (java.lang.Double.doubleToRawLongBits(absoluteThreshold_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(8, absoluteThreshold_); } if (java.lang.Double.doubleToRawLongBits(parameterRelativeThreshold_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(9, parameterRelativeThreshold_); } if (java.lang.Double.doubleToRawLongBits(parameterAbsoluteThreshold_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(10, parameterAbsoluteThreshold_); } if (java.lang.Double.doubleToRawLongBits(lambda_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(11, lambda_); } if (searchMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod.POWELL_BOUNDED.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(12, searchMethod_); } if (gradientLineMinimisation_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(13, gradientLineMinimisation_); } if (modelCamera_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(14, modelCamera_); } if (maxFunctionEvaluations_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(15, maxFunctionEvaluations_); } if (useClamping_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(16, useClamping_); } if (useDynamicClamping_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(17, useDynamicClamping_); } { int dataSize = 0; dataSize = 8 * getClampValuesList().size(); size += dataSize; if (!getClampValuesList().isEmpty()) { size += 2; size += com.google.protobuf.CodedOutputStream .computeInt32SizeNoTag(dataSize); } clampValuesMemoizedSerializedSize = dataSize; } if (lineSearchMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod.NONE.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(19, lineSearchMethod_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings)) { return super.equals(obj); } uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings other = (uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings) obj; if (getFixedPsf() != other.getFixedPsf()) return false; if (getDisableBackgroundFitting() != other.getDisableBackgroundFitting()) return false; if (getDisableSignalFitting() != other.getDisableSignalFitting()) return false; if (fitSolver_ != other.fitSolver_) return false; if (getFixedIterations() != other.getFixedIterations()) return false; if (getMaxIterations() != other.getMaxIterations()) return false; if (java.lang.Double.doubleToLongBits(getRelativeThreshold()) != java.lang.Double.doubleToLongBits( other.getRelativeThreshold())) return false; if (java.lang.Double.doubleToLongBits(getAbsoluteThreshold()) != java.lang.Double.doubleToLongBits( other.getAbsoluteThreshold())) return false; if (java.lang.Double.doubleToLongBits(getParameterRelativeThreshold()) != java.lang.Double.doubleToLongBits( other.getParameterRelativeThreshold())) return false; if (java.lang.Double.doubleToLongBits(getParameterAbsoluteThreshold()) != java.lang.Double.doubleToLongBits( other.getParameterAbsoluteThreshold())) return false; if (java.lang.Double.doubleToLongBits(getLambda()) != java.lang.Double.doubleToLongBits( other.getLambda())) return false; if (searchMethod_ != other.searchMethod_) return false; if (getGradientLineMinimisation() != other.getGradientLineMinimisation()) return false; if (getModelCamera() != other.getModelCamera()) return false; if (getMaxFunctionEvaluations() != other.getMaxFunctionEvaluations()) return false; if (getUseClamping() != other.getUseClamping()) return false; if (getUseDynamicClamping() != other.getUseDynamicClamping()) return false; if (!getClampValuesList() .equals(other.getClampValuesList())) return false; if (lineSearchMethod_ != other.lineSearchMethod_) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + FIXED_PSF_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getFixedPsf()); hash = (37 * hash) + DISABLE_BACKGROUND_FITTING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getDisableBackgroundFitting()); hash = (37 * hash) + DISABLE_SIGNAL_FITTING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getDisableSignalFitting()); hash = (37 * hash) + FIT_SOLVER_FIELD_NUMBER; hash = (53 * hash) + fitSolver_; hash = (37 * hash) + FIXED_ITERATIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getFixedIterations()); hash = (37 * hash) + MAX_ITERATIONS_FIELD_NUMBER; hash = (53 * hash) + getMaxIterations(); hash = (37 * hash) + RELATIVE_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getRelativeThreshold())); hash = (37 * hash) + ABSOLUTE_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAbsoluteThreshold())); hash = (37 * hash) + PARAMETER_RELATIVE_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getParameterRelativeThreshold())); hash = (37 * hash) + PARAMETER_ABSOLUTE_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getParameterAbsoluteThreshold())); hash = (37 * hash) + LAMBDA_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getLambda())); hash = (37 * hash) + SEARCH_METHOD_FIELD_NUMBER; hash = (53 * hash) + searchMethod_; hash = (37 * hash) + GRADIENT_LINE_MINIMISATION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getGradientLineMinimisation()); hash = (37 * hash) + MODEL_CAMERA_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getModelCamera()); hash = (37 * hash) + MAX_FUNCTION_EVALUATIONS_FIELD_NUMBER; hash = (53 * hash) + getMaxFunctionEvaluations(); hash = (37 * hash) + USE_CLAMPING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getUseClamping()); hash = (37 * hash) + USE_DYNAMIC_CLAMPING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getUseDynamicClamping()); if (getClampValuesCount() > 0) { hash = (37 * hash) + CLAMP_VALUES_FIELD_NUMBER; hash = (53 * hash) + getClampValuesList().hashCode(); } hash = (37 * hash) + LINE_SEARCH_METHOD_FIELD_NUMBER; hash = (53 * hash) + lineSearchMethod_; hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Define settings for the fit solver.
     * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings) uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.Builder.class); } // Construct using uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; fixedPsf_ = false; disableBackgroundFitting_ = false; disableSignalFitting_ = false; fitSolver_ = 0; fixedIterations_ = false; maxIterations_ = 0; relativeThreshold_ = 0D; absoluteThreshold_ = 0D; parameterRelativeThreshold_ = 0D; parameterAbsoluteThreshold_ = 0D; lambda_ = 0D; searchMethod_ = 0; gradientLineMinimisation_ = false; modelCamera_ = false; maxFunctionEvaluations_ = 0; useClamping_ = false; useDynamicClamping_ = false; clampValues_ = emptyDoubleList(); lineSearchMethod_ = 0; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_descriptor; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings getDefaultInstanceForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.getDefaultInstance(); } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings build() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings buildPartial() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings result = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings result) { if (((bitField0_ & 0x00020000) != 0)) { clampValues_.makeImmutable(); bitField0_ = (bitField0_ & ~0x00020000); } result.clampValues_ = clampValues_; } private void buildPartial0(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.fixedPsf_ = fixedPsf_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.disableBackgroundFitting_ = disableBackgroundFitting_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.disableSignalFitting_ = disableSignalFitting_; } if (((from_bitField0_ & 0x00000008) != 0)) { result.fitSolver_ = fitSolver_; } if (((from_bitField0_ & 0x00000010) != 0)) { result.fixedIterations_ = fixedIterations_; } if (((from_bitField0_ & 0x00000020) != 0)) { result.maxIterations_ = maxIterations_; } if (((from_bitField0_ & 0x00000040) != 0)) { result.relativeThreshold_ = relativeThreshold_; } if (((from_bitField0_ & 0x00000080) != 0)) { result.absoluteThreshold_ = absoluteThreshold_; } if (((from_bitField0_ & 0x00000100) != 0)) { result.parameterRelativeThreshold_ = parameterRelativeThreshold_; } if (((from_bitField0_ & 0x00000200) != 0)) { result.parameterAbsoluteThreshold_ = parameterAbsoluteThreshold_; } if (((from_bitField0_ & 0x00000400) != 0)) { result.lambda_ = lambda_; } if (((from_bitField0_ & 0x00000800) != 0)) { result.searchMethod_ = searchMethod_; } if (((from_bitField0_ & 0x00001000) != 0)) { result.gradientLineMinimisation_ = gradientLineMinimisation_; } if (((from_bitField0_ & 0x00002000) != 0)) { result.modelCamera_ = modelCamera_; } if (((from_bitField0_ & 0x00004000) != 0)) { result.maxFunctionEvaluations_ = maxFunctionEvaluations_; } if (((from_bitField0_ & 0x00008000) != 0)) { result.useClamping_ = useClamping_; } if (((from_bitField0_ & 0x00010000) != 0)) { result.useDynamicClamping_ = useDynamicClamping_; } if (((from_bitField0_ & 0x00040000) != 0)) { result.lineSearchMethod_ = lineSearchMethod_; } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings) { return mergeFrom((uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings other) { if (other == uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.getDefaultInstance()) return this; if (other.getFixedPsf() != false) { setFixedPsf(other.getFixedPsf()); } if (other.getDisableBackgroundFitting() != false) { setDisableBackgroundFitting(other.getDisableBackgroundFitting()); } if (other.getDisableSignalFitting() != false) { setDisableSignalFitting(other.getDisableSignalFitting()); } if (other.fitSolver_ != 0) { setFitSolverValue(other.getFitSolverValue()); } if (other.getFixedIterations() != false) { setFixedIterations(other.getFixedIterations()); } if (other.getMaxIterations() != 0) { setMaxIterations(other.getMaxIterations()); } if (other.getRelativeThreshold() != 0D) { setRelativeThreshold(other.getRelativeThreshold()); } if (other.getAbsoluteThreshold() != 0D) { setAbsoluteThreshold(other.getAbsoluteThreshold()); } if (other.getParameterRelativeThreshold() != 0D) { setParameterRelativeThreshold(other.getParameterRelativeThreshold()); } if (other.getParameterAbsoluteThreshold() != 0D) { setParameterAbsoluteThreshold(other.getParameterAbsoluteThreshold()); } if (other.getLambda() != 0D) { setLambda(other.getLambda()); } if (other.searchMethod_ != 0) { setSearchMethodValue(other.getSearchMethodValue()); } if (other.getGradientLineMinimisation() != false) { setGradientLineMinimisation(other.getGradientLineMinimisation()); } if (other.getModelCamera() != false) { setModelCamera(other.getModelCamera()); } if (other.getMaxFunctionEvaluations() != 0) { setMaxFunctionEvaluations(other.getMaxFunctionEvaluations()); } if (other.getUseClamping() != false) { setUseClamping(other.getUseClamping()); } if (other.getUseDynamicClamping() != false) { setUseDynamicClamping(other.getUseDynamicClamping()); } if (!other.clampValues_.isEmpty()) { if (clampValues_.isEmpty()) { clampValues_ = other.clampValues_; bitField0_ = (bitField0_ & ~0x00020000); } else { ensureClampValuesIsMutable(); clampValues_.addAll(other.clampValues_); } onChanged(); } if (other.lineSearchMethod_ != 0) { setLineSearchMethodValue(other.getLineSearchMethodValue()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { fixedPsf_ = input.readBool(); bitField0_ |= 0x00000001; break; } // case 8 case 16: { disableBackgroundFitting_ = input.readBool(); bitField0_ |= 0x00000002; break; } // case 16 case 24: { disableSignalFitting_ = input.readBool(); bitField0_ |= 0x00000004; break; } // case 24 case 32: { fitSolver_ = input.readEnum(); bitField0_ |= 0x00000008; break; } // case 32 case 40: { fixedIterations_ = input.readBool(); bitField0_ |= 0x00000010; break; } // case 40 case 48: { maxIterations_ = input.readInt32(); bitField0_ |= 0x00000020; break; } // case 48 case 57: { relativeThreshold_ = input.readDouble(); bitField0_ |= 0x00000040; break; } // case 57 case 65: { absoluteThreshold_ = input.readDouble(); bitField0_ |= 0x00000080; break; } // case 65 case 73: { parameterRelativeThreshold_ = input.readDouble(); bitField0_ |= 0x00000100; break; } // case 73 case 81: { parameterAbsoluteThreshold_ = input.readDouble(); bitField0_ |= 0x00000200; break; } // case 81 case 89: { lambda_ = input.readDouble(); bitField0_ |= 0x00000400; break; } // case 89 case 96: { searchMethod_ = input.readEnum(); bitField0_ |= 0x00000800; break; } // case 96 case 104: { gradientLineMinimisation_ = input.readBool(); bitField0_ |= 0x00001000; break; } // case 104 case 112: { modelCamera_ = input.readBool(); bitField0_ |= 0x00002000; break; } // case 112 case 120: { maxFunctionEvaluations_ = input.readInt32(); bitField0_ |= 0x00004000; break; } // case 120 case 128: { useClamping_ = input.readBool(); bitField0_ |= 0x00008000; break; } // case 128 case 136: { useDynamicClamping_ = input.readBool(); bitField0_ |= 0x00010000; break; } // case 136 case 145: { double v = input.readDouble(); ensureClampValuesIsMutable(); clampValues_.addDouble(v); break; } // case 145 case 146: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); ensureClampValuesIsMutable(); while (input.getBytesUntilLimit() > 0) { clampValues_.addDouble(input.readDouble()); } input.popLimit(limit); break; } // case 146 case 152: { lineSearchMethod_ = input.readEnum(); bitField0_ |= 0x00040000; break; } // case 152 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private boolean fixedPsf_ ; /** *
       * Set to true to fix the PSF using the initial parameters
       * 
* * bool fixed_psf = 1; * @return The fixedPsf. */ @java.lang.Override public boolean getFixedPsf() { return fixedPsf_; } /** *
       * Set to true to fix the PSF using the initial parameters
       * 
* * bool fixed_psf = 1; * @param value The fixedPsf to set. * @return This builder for chaining. */ public Builder setFixedPsf(boolean value) { fixedPsf_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * Set to true to fix the PSF using the initial parameters
       * 
* * bool fixed_psf = 1; * @return This builder for chaining. */ public Builder clearFixedPsf() { bitField0_ = (bitField0_ & ~0x00000001); fixedPsf_ = false; onChanged(); return this; } private boolean disableBackgroundFitting_ ; /** *
       * Set to true to disable background fitting
       * 
* * bool disable_background_fitting = 2; * @return The disableBackgroundFitting. */ @java.lang.Override public boolean getDisableBackgroundFitting() { return disableBackgroundFitting_; } /** *
       * Set to true to disable background fitting
       * 
* * bool disable_background_fitting = 2; * @param value The disableBackgroundFitting to set. * @return This builder for chaining. */ public Builder setDisableBackgroundFitting(boolean value) { disableBackgroundFitting_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * Set to true to disable background fitting
       * 
* * bool disable_background_fitting = 2; * @return This builder for chaining. */ public Builder clearDisableBackgroundFitting() { bitField0_ = (bitField0_ & ~0x00000002); disableBackgroundFitting_ = false; onChanged(); return this; } private boolean disableSignalFitting_ ; /** *
       * Set to true to disable signal intensity fitting
       * 
* * bool disable_signal_fitting = 3; * @return The disableSignalFitting. */ @java.lang.Override public boolean getDisableSignalFitting() { return disableSignalFitting_; } /** *
       * Set to true to disable signal intensity fitting
       * 
* * bool disable_signal_fitting = 3; * @param value The disableSignalFitting to set. * @return This builder for chaining. */ public Builder setDisableSignalFitting(boolean value) { disableSignalFitting_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** *
       * Set to true to disable signal intensity fitting
       * 
* * bool disable_signal_fitting = 3; * @return This builder for chaining. */ public Builder clearDisableSignalFitting() { bitField0_ = (bitField0_ & ~0x00000004); disableSignalFitting_ = false; onChanged(); return this; } private int fitSolver_ = 0; /** *
       * The type of fit solver
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @return The enum numeric value on the wire for fitSolver. */ @java.lang.Override public int getFitSolverValue() { return fitSolver_; } /** *
       * The type of fit solver
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @param value The enum numeric value on the wire for fitSolver to set. * @return This builder for chaining. */ public Builder setFitSolverValue(int value) { fitSolver_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** *
       * The type of fit solver
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @return The fitSolver. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver getFitSolver() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver.forNumber(fitSolver_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver.UNRECOGNIZED : result; } /** *
       * The type of fit solver
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @param value The fitSolver to set. * @return This builder for chaining. */ public Builder setFitSolver(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolver value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000008; fitSolver_ = value.getNumber(); onChanged(); return this; } /** *
       * The type of fit solver
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolver fit_solver = 4; * @return This builder for chaining. */ public Builder clearFitSolver() { bitField0_ = (bitField0_ & ~0x00000008); fitSolver_ = 0; onChanged(); return this; } private boolean fixedIterations_ ; /** *
       * Set to true to use a fixed number of iterations during fitting
       * 
* * bool fixed_iterations = 5; * @return The fixedIterations. */ @java.lang.Override public boolean getFixedIterations() { return fixedIterations_; } /** *
       * Set to true to use a fixed number of iterations during fitting
       * 
* * bool fixed_iterations = 5; * @param value The fixedIterations to set. * @return This builder for chaining. */ public Builder setFixedIterations(boolean value) { fixedIterations_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * Set to true to use a fixed number of iterations during fitting
       * 
* * bool fixed_iterations = 5; * @return This builder for chaining. */ public Builder clearFixedIterations() { bitField0_ = (bitField0_ & ~0x00000010); fixedIterations_ = false; onChanged(); return this; } private int maxIterations_ ; /** *
       * The maximum/fixed iterations to use during fitting.
       * If not using fixed iterations then fitting will fail if this limit is reached.
       * 
* * int32 max_iterations = 6; * @return The maxIterations. */ @java.lang.Override public int getMaxIterations() { return maxIterations_; } /** *
       * The maximum/fixed iterations to use during fitting.
       * If not using fixed iterations then fitting will fail if this limit is reached.
       * 
* * int32 max_iterations = 6; * @param value The maxIterations to set. * @return This builder for chaining. */ public Builder setMaxIterations(int value) { maxIterations_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** *
       * The maximum/fixed iterations to use during fitting.
       * If not using fixed iterations then fitting will fail if this limit is reached.
       * 
* * int32 max_iterations = 6; * @return This builder for chaining. */ public Builder clearMaxIterations() { bitField0_ = (bitField0_ & ~0x00000020); maxIterations_ = 0; onChanged(); return this; } private double relativeThreshold_ ; /** *
       * The relative threshold for convergence on the function score. Set to negative to disable.
       * 
* * double relative_threshold = 7; * @return The relativeThreshold. */ @java.lang.Override public double getRelativeThreshold() { return relativeThreshold_; } /** *
       * The relative threshold for convergence on the function score. Set to negative to disable.
       * 
* * double relative_threshold = 7; * @param value The relativeThreshold to set. * @return This builder for chaining. */ public Builder setRelativeThreshold(double value) { relativeThreshold_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
       * The relative threshold for convergence on the function score. Set to negative to disable.
       * 
* * double relative_threshold = 7; * @return This builder for chaining. */ public Builder clearRelativeThreshold() { bitField0_ = (bitField0_ & ~0x00000040); relativeThreshold_ = 0D; onChanged(); return this; } private double absoluteThreshold_ ; /** *
       * The absolute threshold for convergence on the function score. Set to negative to disable.
       * 
* * double absolute_threshold = 8; * @return The absoluteThreshold. */ @java.lang.Override public double getAbsoluteThreshold() { return absoluteThreshold_; } /** *
       * The absolute threshold for convergence on the function score. Set to negative to disable.
       * 
* * double absolute_threshold = 8; * @param value The absoluteThreshold to set. * @return This builder for chaining. */ public Builder setAbsoluteThreshold(double value) { absoluteThreshold_ = value; bitField0_ |= 0x00000080; onChanged(); return this; } /** *
       * The absolute threshold for convergence on the function score. Set to negative to disable.
       * 
* * double absolute_threshold = 8; * @return This builder for chaining. */ public Builder clearAbsoluteThreshold() { bitField0_ = (bitField0_ & ~0x00000080); absoluteThreshold_ = 0D; onChanged(); return this; } private double parameterRelativeThreshold_ ; /** *
       * The relative threshold for convergence on the function parameters. Set to negative to disable.
       * 
* * double parameter_relative_threshold = 9; * @return The parameterRelativeThreshold. */ @java.lang.Override public double getParameterRelativeThreshold() { return parameterRelativeThreshold_; } /** *
       * The relative threshold for convergence on the function parameters. Set to negative to disable.
       * 
* * double parameter_relative_threshold = 9; * @param value The parameterRelativeThreshold to set. * @return This builder for chaining. */ public Builder setParameterRelativeThreshold(double value) { parameterRelativeThreshold_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** *
       * The relative threshold for convergence on the function parameters. Set to negative to disable.
       * 
* * double parameter_relative_threshold = 9; * @return This builder for chaining. */ public Builder clearParameterRelativeThreshold() { bitField0_ = (bitField0_ & ~0x00000100); parameterRelativeThreshold_ = 0D; onChanged(); return this; } private double parameterAbsoluteThreshold_ ; /** *
       * The absolute threshold for convergence on the function parameters. Set to negative to disable.
       * 
* * double parameter_absolute_threshold = 10; * @return The parameterAbsoluteThreshold. */ @java.lang.Override public double getParameterAbsoluteThreshold() { return parameterAbsoluteThreshold_; } /** *
       * The absolute threshold for convergence on the function parameters. Set to negative to disable.
       * 
* * double parameter_absolute_threshold = 10; * @param value The parameterAbsoluteThreshold to set. * @return This builder for chaining. */ public Builder setParameterAbsoluteThreshold(double value) { parameterAbsoluteThreshold_ = value; bitField0_ |= 0x00000200; onChanged(); return this; } /** *
       * The absolute threshold for convergence on the function parameters. Set to negative to disable.
       * 
* * double parameter_absolute_threshold = 10; * @return This builder for chaining. */ public Builder clearParameterAbsoluteThreshold() { bitField0_ = (bitField0_ & ~0x00000200); parameterAbsoluteThreshold_ = 0D; onChanged(); return this; } private double lambda_ ; /** *
       * The initial lambda parameter for the Levenberg-Marquardt algorithm
       * 
* * double lambda = 11; * @return The lambda. */ @java.lang.Override public double getLambda() { return lambda_; } /** *
       * The initial lambda parameter for the Levenberg-Marquardt algorithm
       * 
* * double lambda = 11; * @param value The lambda to set. * @return This builder for chaining. */ public Builder setLambda(double value) { lambda_ = value; bitField0_ |= 0x00000400; onChanged(); return this; } /** *
       * The initial lambda parameter for the Levenberg-Marquardt algorithm
       * 
* * double lambda = 11; * @return This builder for chaining. */ public Builder clearLambda() { bitField0_ = (bitField0_ & ~0x00000400); lambda_ = 0D; onChanged(); return this; } private int searchMethod_ = 0; /** *
       * The search method to use for the configurable maximum likelihood estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @return The enum numeric value on the wire for searchMethod. */ @java.lang.Override public int getSearchMethodValue() { return searchMethod_; } /** *
       * The search method to use for the configurable maximum likelihood estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @param value The enum numeric value on the wire for searchMethod to set. * @return This builder for chaining. */ public Builder setSearchMethodValue(int value) { searchMethod_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } /** *
       * The search method to use for the configurable maximum likelihood estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @return The searchMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod getSearchMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod.forNumber(searchMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod.UNRECOGNIZED : result; } /** *
       * The search method to use for the configurable maximum likelihood estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @param value The searchMethod to set. * @return This builder for chaining. */ public Builder setSearchMethod(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.SearchMethod value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000800; searchMethod_ = value.getNumber(); onChanged(); return this; } /** *
       * The search method to use for the configurable maximum likelihood estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.SearchMethod search_method = 12; * @return This builder for chaining. */ public Builder clearSearchMethod() { bitField0_ = (bitField0_ & ~0x00000800); searchMethod_ = 0; onChanged(); return this; } private boolean gradientLineMinimisation_ ; /** *
       * Set to true to use the function gradient during line minimisation, i.e. find the
       * parameters where the gradient is zero. The default is the to minimise the function value.
       * 
* * bool gradient_line_minimisation = 13; * @return The gradientLineMinimisation. */ @java.lang.Override public boolean getGradientLineMinimisation() { return gradientLineMinimisation_; } /** *
       * Set to true to use the function gradient during line minimisation, i.e. find the
       * parameters where the gradient is zero. The default is the to minimise the function value.
       * 
* * bool gradient_line_minimisation = 13; * @param value The gradientLineMinimisation to set. * @return This builder for chaining. */ public Builder setGradientLineMinimisation(boolean value) { gradientLineMinimisation_ = value; bitField0_ |= 0x00001000; onChanged(); return this; } /** *
       * Set to true to use the function gradient during line minimisation, i.e. find the
       * parameters where the gradient is zero. The default is the to minimise the function value.
       * 
* * bool gradient_line_minimisation = 13; * @return This builder for chaining. */ public Builder clearGradientLineMinimisation() { bitField0_ = (bitField0_ & ~0x00001000); gradientLineMinimisation_ = false; onChanged(); return this; } private boolean modelCamera_ ; /** *
       * Set to true to model the camera noise in the configurable maximum likelihood estimator.
       * 
* * bool model_camera = 14; * @return The modelCamera. */ @java.lang.Override public boolean getModelCamera() { return modelCamera_; } /** *
       * Set to true to model the camera noise in the configurable maximum likelihood estimator.
       * 
* * bool model_camera = 14; * @param value The modelCamera to set. * @return This builder for chaining. */ public Builder setModelCamera(boolean value) { modelCamera_ = value; bitField0_ |= 0x00002000; onChanged(); return this; } /** *
       * Set to true to model the camera noise in the configurable maximum likelihood estimator.
       * 
* * bool model_camera = 14; * @return This builder for chaining. */ public Builder clearModelCamera() { bitField0_ = (bitField0_ & ~0x00002000); modelCamera_ = false; onChanged(); return this; } private int maxFunctionEvaluations_ ; /** *
       * The maximum number of function evaluations in the configurable maximum likelihood estimator.
       * 
* * int32 max_function_evaluations = 15; * @return The maxFunctionEvaluations. */ @java.lang.Override public int getMaxFunctionEvaluations() { return maxFunctionEvaluations_; } /** *
       * The maximum number of function evaluations in the configurable maximum likelihood estimator.
       * 
* * int32 max_function_evaluations = 15; * @param value The maxFunctionEvaluations to set. * @return This builder for chaining. */ public Builder setMaxFunctionEvaluations(int value) { maxFunctionEvaluations_ = value; bitField0_ |= 0x00004000; onChanged(); return this; } /** *
       * The maximum number of function evaluations in the configurable maximum likelihood estimator.
       * 
* * int32 max_function_evaluations = 15; * @return This builder for chaining. */ public Builder clearMaxFunctionEvaluations() { bitField0_ = (bitField0_ & ~0x00004000); maxFunctionEvaluations_ = 0; onChanged(); return this; } private boolean useClamping_ ; /** *
       * Set to true to use parameter clamping
       * 
* * bool use_clamping = 16; * @return The useClamping. */ @java.lang.Override public boolean getUseClamping() { return useClamping_; } /** *
       * Set to true to use parameter clamping
       * 
* * bool use_clamping = 16; * @param value The useClamping to set. * @return This builder for chaining. */ public Builder setUseClamping(boolean value) { useClamping_ = value; bitField0_ |= 0x00008000; onChanged(); return this; } /** *
       * Set to true to use parameter clamping
       * 
* * bool use_clamping = 16; * @return This builder for chaining. */ public Builder clearUseClamping() { bitField0_ = (bitField0_ & ~0x00008000); useClamping_ = false; onChanged(); return this; } private boolean useDynamicClamping_ ; /** *
       * Set to true to use dynamic parameter clamping, i.e. update the clamp values when the step direction changes
       * 
* * bool use_dynamic_clamping = 17; * @return The useDynamicClamping. */ @java.lang.Override public boolean getUseDynamicClamping() { return useDynamicClamping_; } /** *
       * Set to true to use dynamic parameter clamping, i.e. update the clamp values when the step direction changes
       * 
* * bool use_dynamic_clamping = 17; * @param value The useDynamicClamping to set. * @return This builder for chaining. */ public Builder setUseDynamicClamping(boolean value) { useDynamicClamping_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } /** *
       * Set to true to use dynamic parameter clamping, i.e. update the clamp values when the step direction changes
       * 
* * bool use_dynamic_clamping = 17; * @return This builder for chaining. */ public Builder clearUseDynamicClamping() { bitField0_ = (bitField0_ & ~0x00010000); useDynamicClamping_ = false; onChanged(); return this; } private com.google.protobuf.Internal.DoubleList clampValues_ = emptyDoubleList(); private void ensureClampValuesIsMutable() { if (!((bitField0_ & 0x00020000) != 0)) { clampValues_ = mutableCopy(clampValues_); bitField0_ |= 0x00020000; } } /** *
       * The initial clamp values for each of the PSF parameters.
       * 
* * repeated double clamp_values = 18; * @return A list containing the clampValues. */ public java.util.List getClampValuesList() { return ((bitField0_ & 0x00020000) != 0) ? java.util.Collections.unmodifiableList(clampValues_) : clampValues_; } /** *
       * The initial clamp values for each of the PSF parameters.
       * 
* * repeated double clamp_values = 18; * @return The count of clampValues. */ public int getClampValuesCount() { return clampValues_.size(); } /** *
       * The initial clamp values for each of the PSF parameters.
       * 
* * repeated double clamp_values = 18; * @param index The index of the element to return. * @return The clampValues at the given index. */ public double getClampValues(int index) { return clampValues_.getDouble(index); } /** *
       * The initial clamp values for each of the PSF parameters.
       * 
* * repeated double clamp_values = 18; * @param index The index to set the value at. * @param value The clampValues to set. * @return This builder for chaining. */ public Builder setClampValues( int index, double value) { ensureClampValuesIsMutable(); clampValues_.setDouble(index, value); onChanged(); return this; } /** *
       * The initial clamp values for each of the PSF parameters.
       * 
* * repeated double clamp_values = 18; * @param value The clampValues to add. * @return This builder for chaining. */ public Builder addClampValues(double value) { ensureClampValuesIsMutable(); clampValues_.addDouble(value); onChanged(); return this; } /** *
       * The initial clamp values for each of the PSF parameters.
       * 
* * repeated double clamp_values = 18; * @param values The clampValues to add. * @return This builder for chaining. */ public Builder addAllClampValues( java.lang.Iterable values) { ensureClampValuesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, clampValues_); onChanged(); return this; } /** *
       * The initial clamp values for each of the PSF parameters.
       * 
* * repeated double clamp_values = 18; * @return This builder for chaining. */ public Builder clearClampValues() { clampValues_ = emptyDoubleList(); bitField0_ = (bitField0_ & ~0x00020000); onChanged(); return this; } private int lineSearchMethod_ = 0; /** *
       * The line search method to use for the Fast MLE estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @return The enum numeric value on the wire for lineSearchMethod. */ @java.lang.Override public int getLineSearchMethodValue() { return lineSearchMethod_; } /** *
       * The line search method to use for the Fast MLE estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @param value The enum numeric value on the wire for lineSearchMethod to set. * @return This builder for chaining. */ public Builder setLineSearchMethodValue(int value) { lineSearchMethod_ = value; bitField0_ |= 0x00040000; onChanged(); return this; } /** *
       * The line search method to use for the Fast MLE estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @return The lineSearchMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod getLineSearchMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod.forNumber(lineSearchMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod.UNRECOGNIZED : result; } /** *
       * The line search method to use for the Fast MLE estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @param value The lineSearchMethod to set. * @return This builder for chaining. */ public Builder setLineSearchMethod(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.LineSearchMethod value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00040000; lineSearchMethod_ = value.getNumber(); onChanged(); return this; } /** *
       * The line search method to use for the Fast MLE estimator
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.LineSearchMethod line_search_method = 19; * @return This builder for chaining. */ public Builder clearLineSearchMethod() { bitField0_ = (bitField0_ & ~0x00040000); lineSearchMethod_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings) } // @@protoc_insertion_point(class_scope:uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings) private static final uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings(); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public FitSolverSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface FilterSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:uk.ac.sussex.gdsc.smlm.data.config.FilterSettings) com.google.protobuf.MessageOrBuilder { /** *
     * The maximum amount a localisation can move from the initial estimate relative to the PSF width
     * 
* * double shift_factor = 1; * @return The shiftFactor. */ double getShiftFactor(); /** *
     * The minimum Signal-to-Noise (SNR) threshold
     * 
* * double signal_strength = 2; * @return The signalStrength. */ double getSignalStrength(); /** *
     * The minimum number of photons threshold
     * 
* * double min_photons = 3; * @return The minPhotons. */ double getMinPhotons(); /** *
     * The maximum allowed localisation precision (expressed as the localisation standard deviation)
     * 
* * double precision_threshold = 4; * @return The precisionThreshold. */ double getPrecisionThreshold(); /** *
     * The minimum allowed width relative to the initial width estimate
     * 
* * double min_width_factor = 6; * @return The minWidthFactor. */ double getMinWidthFactor(); /** *
     * The maximum allowed width relative to the initial width estimate
     * 
* * double max_width_factor = 7; * @return The maxWidthFactor. */ double getMaxWidthFactor(); /** *
     * Set to true to disable the use of simple filters
     * 
* * bool disable_simple_filter = 8; * @return The disableSimpleFilter. */ boolean getDisableSimpleFilter(); /** *
     * Set to true to use a smart filter
     * 
* * bool smart_filter = 9; * @return The smartFilter. */ boolean getSmartFilter(); /** *
     * The smart filter expressed as a serialised string
     * 
* * string smart_filter_string = 10; * @return The smartFilterString. */ java.lang.String getSmartFilterString(); /** *
     * The smart filter expressed as a serialised string
     * 
* * string smart_filter_string = 10; * @return The bytes for smartFilterString. */ com.google.protobuf.ByteString getSmartFilterStringBytes(); /** *
     * The type of precision filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @return The enum numeric value on the wire for precisionMethod. */ int getPrecisionMethodValue(); /** *
     * The type of precision filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @return The precisionMethod. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod getPrecisionMethod(); /** *
     * The minimum z-depth
     * 
* * double min_z = 12; * @return The minZ. */ double getMinZ(); /** *
     * The maximum z-depth
     * 
* * double max_z = 13; * @return The maxZ. */ double getMaxZ(); } /** *
   * Define the settings for filtering fit results.
   * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FilterSettings} */ public static final class FilterSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:uk.ac.sussex.gdsc.smlm.data.config.FilterSettings) FilterSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use FilterSettings.newBuilder() to construct. private FilterSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private FilterSettings() { smartFilterString_ = ""; precisionMethod_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new FilterSettings(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.Builder.class); } public static final int SHIFT_FACTOR_FIELD_NUMBER = 1; private double shiftFactor_ = 0D; /** *
     * The maximum amount a localisation can move from the initial estimate relative to the PSF width
     * 
* * double shift_factor = 1; * @return The shiftFactor. */ @java.lang.Override public double getShiftFactor() { return shiftFactor_; } public static final int SIGNAL_STRENGTH_FIELD_NUMBER = 2; private double signalStrength_ = 0D; /** *
     * The minimum Signal-to-Noise (SNR) threshold
     * 
* * double signal_strength = 2; * @return The signalStrength. */ @java.lang.Override public double getSignalStrength() { return signalStrength_; } public static final int MIN_PHOTONS_FIELD_NUMBER = 3; private double minPhotons_ = 0D; /** *
     * The minimum number of photons threshold
     * 
* * double min_photons = 3; * @return The minPhotons. */ @java.lang.Override public double getMinPhotons() { return minPhotons_; } public static final int PRECISION_THRESHOLD_FIELD_NUMBER = 4; private double precisionThreshold_ = 0D; /** *
     * The maximum allowed localisation precision (expressed as the localisation standard deviation)
     * 
* * double precision_threshold = 4; * @return The precisionThreshold. */ @java.lang.Override public double getPrecisionThreshold() { return precisionThreshold_; } public static final int MIN_WIDTH_FACTOR_FIELD_NUMBER = 6; private double minWidthFactor_ = 0D; /** *
     * The minimum allowed width relative to the initial width estimate
     * 
* * double min_width_factor = 6; * @return The minWidthFactor. */ @java.lang.Override public double getMinWidthFactor() { return minWidthFactor_; } public static final int MAX_WIDTH_FACTOR_FIELD_NUMBER = 7; private double maxWidthFactor_ = 0D; /** *
     * The maximum allowed width relative to the initial width estimate
     * 
* * double max_width_factor = 7; * @return The maxWidthFactor. */ @java.lang.Override public double getMaxWidthFactor() { return maxWidthFactor_; } public static final int DISABLE_SIMPLE_FILTER_FIELD_NUMBER = 8; private boolean disableSimpleFilter_ = false; /** *
     * Set to true to disable the use of simple filters
     * 
* * bool disable_simple_filter = 8; * @return The disableSimpleFilter. */ @java.lang.Override public boolean getDisableSimpleFilter() { return disableSimpleFilter_; } public static final int SMART_FILTER_FIELD_NUMBER = 9; private boolean smartFilter_ = false; /** *
     * Set to true to use a smart filter
     * 
* * bool smart_filter = 9; * @return The smartFilter. */ @java.lang.Override public boolean getSmartFilter() { return smartFilter_; } public static final int SMART_FILTER_STRING_FIELD_NUMBER = 10; @SuppressWarnings("serial") private volatile java.lang.Object smartFilterString_ = ""; /** *
     * The smart filter expressed as a serialised string
     * 
* * string smart_filter_string = 10; * @return The smartFilterString. */ @java.lang.Override public java.lang.String getSmartFilterString() { java.lang.Object ref = smartFilterString_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); smartFilterString_ = s; return s; } } /** *
     * The smart filter expressed as a serialised string
     * 
* * string smart_filter_string = 10; * @return The bytes for smartFilterString. */ @java.lang.Override public com.google.protobuf.ByteString getSmartFilterStringBytes() { java.lang.Object ref = smartFilterString_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); smartFilterString_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PRECISION_METHOD_FIELD_NUMBER = 11; private int precisionMethod_ = 0; /** *
     * The type of precision filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @return The enum numeric value on the wire for precisionMethod. */ @java.lang.Override public int getPrecisionMethodValue() { return precisionMethod_; } /** *
     * The type of precision filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @return The precisionMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod getPrecisionMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod.forNumber(precisionMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod.UNRECOGNIZED : result; } public static final int MIN_Z_FIELD_NUMBER = 12; private double minZ_ = 0D; /** *
     * The minimum z-depth
     * 
* * double min_z = 12; * @return The minZ. */ @java.lang.Override public double getMinZ() { return minZ_; } public static final int MAX_Z_FIELD_NUMBER = 13; private double maxZ_ = 0D; /** *
     * The maximum z-depth
     * 
* * double max_z = 13; * @return The maxZ. */ @java.lang.Override public double getMaxZ() { return maxZ_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (java.lang.Double.doubleToRawLongBits(shiftFactor_) != 0) { output.writeDouble(1, shiftFactor_); } if (java.lang.Double.doubleToRawLongBits(signalStrength_) != 0) { output.writeDouble(2, signalStrength_); } if (java.lang.Double.doubleToRawLongBits(minPhotons_) != 0) { output.writeDouble(3, minPhotons_); } if (java.lang.Double.doubleToRawLongBits(precisionThreshold_) != 0) { output.writeDouble(4, precisionThreshold_); } if (java.lang.Double.doubleToRawLongBits(minWidthFactor_) != 0) { output.writeDouble(6, minWidthFactor_); } if (java.lang.Double.doubleToRawLongBits(maxWidthFactor_) != 0) { output.writeDouble(7, maxWidthFactor_); } if (disableSimpleFilter_ != false) { output.writeBool(8, disableSimpleFilter_); } if (smartFilter_ != false) { output.writeBool(9, smartFilter_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(smartFilterString_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 10, smartFilterString_); } if (precisionMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod.PRECISION_METHOD_NA.getNumber()) { output.writeEnum(11, precisionMethod_); } if (java.lang.Double.doubleToRawLongBits(minZ_) != 0) { output.writeDouble(12, minZ_); } if (java.lang.Double.doubleToRawLongBits(maxZ_) != 0) { output.writeDouble(13, maxZ_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (java.lang.Double.doubleToRawLongBits(shiftFactor_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(1, shiftFactor_); } if (java.lang.Double.doubleToRawLongBits(signalStrength_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(2, signalStrength_); } if (java.lang.Double.doubleToRawLongBits(minPhotons_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(3, minPhotons_); } if (java.lang.Double.doubleToRawLongBits(precisionThreshold_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(4, precisionThreshold_); } if (java.lang.Double.doubleToRawLongBits(minWidthFactor_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(6, minWidthFactor_); } if (java.lang.Double.doubleToRawLongBits(maxWidthFactor_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(7, maxWidthFactor_); } if (disableSimpleFilter_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(8, disableSimpleFilter_); } if (smartFilter_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(9, smartFilter_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(smartFilterString_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, smartFilterString_); } if (precisionMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod.PRECISION_METHOD_NA.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(11, precisionMethod_); } if (java.lang.Double.doubleToRawLongBits(minZ_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(12, minZ_); } if (java.lang.Double.doubleToRawLongBits(maxZ_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(13, maxZ_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings)) { return super.equals(obj); } uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings other = (uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings) obj; if (java.lang.Double.doubleToLongBits(getShiftFactor()) != java.lang.Double.doubleToLongBits( other.getShiftFactor())) return false; if (java.lang.Double.doubleToLongBits(getSignalStrength()) != java.lang.Double.doubleToLongBits( other.getSignalStrength())) return false; if (java.lang.Double.doubleToLongBits(getMinPhotons()) != java.lang.Double.doubleToLongBits( other.getMinPhotons())) return false; if (java.lang.Double.doubleToLongBits(getPrecisionThreshold()) != java.lang.Double.doubleToLongBits( other.getPrecisionThreshold())) return false; if (java.lang.Double.doubleToLongBits(getMinWidthFactor()) != java.lang.Double.doubleToLongBits( other.getMinWidthFactor())) return false; if (java.lang.Double.doubleToLongBits(getMaxWidthFactor()) != java.lang.Double.doubleToLongBits( other.getMaxWidthFactor())) return false; if (getDisableSimpleFilter() != other.getDisableSimpleFilter()) return false; if (getSmartFilter() != other.getSmartFilter()) return false; if (!getSmartFilterString() .equals(other.getSmartFilterString())) return false; if (precisionMethod_ != other.precisionMethod_) return false; if (java.lang.Double.doubleToLongBits(getMinZ()) != java.lang.Double.doubleToLongBits( other.getMinZ())) return false; if (java.lang.Double.doubleToLongBits(getMaxZ()) != java.lang.Double.doubleToLongBits( other.getMaxZ())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SHIFT_FACTOR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getShiftFactor())); hash = (37 * hash) + SIGNAL_STRENGTH_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSignalStrength())); hash = (37 * hash) + MIN_PHOTONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMinPhotons())); hash = (37 * hash) + PRECISION_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getPrecisionThreshold())); hash = (37 * hash) + MIN_WIDTH_FACTOR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMinWidthFactor())); hash = (37 * hash) + MAX_WIDTH_FACTOR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxWidthFactor())); hash = (37 * hash) + DISABLE_SIMPLE_FILTER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getDisableSimpleFilter()); hash = (37 * hash) + SMART_FILTER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getSmartFilter()); hash = (37 * hash) + SMART_FILTER_STRING_FIELD_NUMBER; hash = (53 * hash) + getSmartFilterString().hashCode(); hash = (37 * hash) + PRECISION_METHOD_FIELD_NUMBER; hash = (53 * hash) + precisionMethod_; hash = (37 * hash) + MIN_Z_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMinZ())); hash = (37 * hash) + MAX_Z_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMaxZ())); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Define the settings for filtering fit results.
     * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FilterSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:uk.ac.sussex.gdsc.smlm.data.config.FilterSettings) uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.Builder.class); } // Construct using uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; shiftFactor_ = 0D; signalStrength_ = 0D; minPhotons_ = 0D; precisionThreshold_ = 0D; minWidthFactor_ = 0D; maxWidthFactor_ = 0D; disableSimpleFilter_ = false; smartFilter_ = false; smartFilterString_ = ""; precisionMethod_ = 0; minZ_ = 0D; maxZ_ = 0D; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_descriptor; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings getDefaultInstanceForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.getDefaultInstance(); } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings build() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings buildPartial() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings result = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.shiftFactor_ = shiftFactor_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.signalStrength_ = signalStrength_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.minPhotons_ = minPhotons_; } if (((from_bitField0_ & 0x00000008) != 0)) { result.precisionThreshold_ = precisionThreshold_; } if (((from_bitField0_ & 0x00000010) != 0)) { result.minWidthFactor_ = minWidthFactor_; } if (((from_bitField0_ & 0x00000020) != 0)) { result.maxWidthFactor_ = maxWidthFactor_; } if (((from_bitField0_ & 0x00000040) != 0)) { result.disableSimpleFilter_ = disableSimpleFilter_; } if (((from_bitField0_ & 0x00000080) != 0)) { result.smartFilter_ = smartFilter_; } if (((from_bitField0_ & 0x00000100) != 0)) { result.smartFilterString_ = smartFilterString_; } if (((from_bitField0_ & 0x00000200) != 0)) { result.precisionMethod_ = precisionMethod_; } if (((from_bitField0_ & 0x00000400) != 0)) { result.minZ_ = minZ_; } if (((from_bitField0_ & 0x00000800) != 0)) { result.maxZ_ = maxZ_; } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings) { return mergeFrom((uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings other) { if (other == uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.getDefaultInstance()) return this; if (other.getShiftFactor() != 0D) { setShiftFactor(other.getShiftFactor()); } if (other.getSignalStrength() != 0D) { setSignalStrength(other.getSignalStrength()); } if (other.getMinPhotons() != 0D) { setMinPhotons(other.getMinPhotons()); } if (other.getPrecisionThreshold() != 0D) { setPrecisionThreshold(other.getPrecisionThreshold()); } if (other.getMinWidthFactor() != 0D) { setMinWidthFactor(other.getMinWidthFactor()); } if (other.getMaxWidthFactor() != 0D) { setMaxWidthFactor(other.getMaxWidthFactor()); } if (other.getDisableSimpleFilter() != false) { setDisableSimpleFilter(other.getDisableSimpleFilter()); } if (other.getSmartFilter() != false) { setSmartFilter(other.getSmartFilter()); } if (!other.getSmartFilterString().isEmpty()) { smartFilterString_ = other.smartFilterString_; bitField0_ |= 0x00000100; onChanged(); } if (other.precisionMethod_ != 0) { setPrecisionMethodValue(other.getPrecisionMethodValue()); } if (other.getMinZ() != 0D) { setMinZ(other.getMinZ()); } if (other.getMaxZ() != 0D) { setMaxZ(other.getMaxZ()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 9: { shiftFactor_ = input.readDouble(); bitField0_ |= 0x00000001; break; } // case 9 case 17: { signalStrength_ = input.readDouble(); bitField0_ |= 0x00000002; break; } // case 17 case 25: { minPhotons_ = input.readDouble(); bitField0_ |= 0x00000004; break; } // case 25 case 33: { precisionThreshold_ = input.readDouble(); bitField0_ |= 0x00000008; break; } // case 33 case 49: { minWidthFactor_ = input.readDouble(); bitField0_ |= 0x00000010; break; } // case 49 case 57: { maxWidthFactor_ = input.readDouble(); bitField0_ |= 0x00000020; break; } // case 57 case 64: { disableSimpleFilter_ = input.readBool(); bitField0_ |= 0x00000040; break; } // case 64 case 72: { smartFilter_ = input.readBool(); bitField0_ |= 0x00000080; break; } // case 72 case 82: { smartFilterString_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000100; break; } // case 82 case 88: { precisionMethod_ = input.readEnum(); bitField0_ |= 0x00000200; break; } // case 88 case 97: { minZ_ = input.readDouble(); bitField0_ |= 0x00000400; break; } // case 97 case 105: { maxZ_ = input.readDouble(); bitField0_ |= 0x00000800; break; } // case 105 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private double shiftFactor_ ; /** *
       * The maximum amount a localisation can move from the initial estimate relative to the PSF width
       * 
* * double shift_factor = 1; * @return The shiftFactor. */ @java.lang.Override public double getShiftFactor() { return shiftFactor_; } /** *
       * The maximum amount a localisation can move from the initial estimate relative to the PSF width
       * 
* * double shift_factor = 1; * @param value The shiftFactor to set. * @return This builder for chaining. */ public Builder setShiftFactor(double value) { shiftFactor_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The maximum amount a localisation can move from the initial estimate relative to the PSF width
       * 
* * double shift_factor = 1; * @return This builder for chaining. */ public Builder clearShiftFactor() { bitField0_ = (bitField0_ & ~0x00000001); shiftFactor_ = 0D; onChanged(); return this; } private double signalStrength_ ; /** *
       * The minimum Signal-to-Noise (SNR) threshold
       * 
* * double signal_strength = 2; * @return The signalStrength. */ @java.lang.Override public double getSignalStrength() { return signalStrength_; } /** *
       * The minimum Signal-to-Noise (SNR) threshold
       * 
* * double signal_strength = 2; * @param value The signalStrength to set. * @return This builder for chaining. */ public Builder setSignalStrength(double value) { signalStrength_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * The minimum Signal-to-Noise (SNR) threshold
       * 
* * double signal_strength = 2; * @return This builder for chaining. */ public Builder clearSignalStrength() { bitField0_ = (bitField0_ & ~0x00000002); signalStrength_ = 0D; onChanged(); return this; } private double minPhotons_ ; /** *
       * The minimum number of photons threshold
       * 
* * double min_photons = 3; * @return The minPhotons. */ @java.lang.Override public double getMinPhotons() { return minPhotons_; } /** *
       * The minimum number of photons threshold
       * 
* * double min_photons = 3; * @param value The minPhotons to set. * @return This builder for chaining. */ public Builder setMinPhotons(double value) { minPhotons_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** *
       * The minimum number of photons threshold
       * 
* * double min_photons = 3; * @return This builder for chaining. */ public Builder clearMinPhotons() { bitField0_ = (bitField0_ & ~0x00000004); minPhotons_ = 0D; onChanged(); return this; } private double precisionThreshold_ ; /** *
       * The maximum allowed localisation precision (expressed as the localisation standard deviation)
       * 
* * double precision_threshold = 4; * @return The precisionThreshold. */ @java.lang.Override public double getPrecisionThreshold() { return precisionThreshold_; } /** *
       * The maximum allowed localisation precision (expressed as the localisation standard deviation)
       * 
* * double precision_threshold = 4; * @param value The precisionThreshold to set. * @return This builder for chaining. */ public Builder setPrecisionThreshold(double value) { precisionThreshold_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** *
       * The maximum allowed localisation precision (expressed as the localisation standard deviation)
       * 
* * double precision_threshold = 4; * @return This builder for chaining. */ public Builder clearPrecisionThreshold() { bitField0_ = (bitField0_ & ~0x00000008); precisionThreshold_ = 0D; onChanged(); return this; } private double minWidthFactor_ ; /** *
       * The minimum allowed width relative to the initial width estimate
       * 
* * double min_width_factor = 6; * @return The minWidthFactor. */ @java.lang.Override public double getMinWidthFactor() { return minWidthFactor_; } /** *
       * The minimum allowed width relative to the initial width estimate
       * 
* * double min_width_factor = 6; * @param value The minWidthFactor to set. * @return This builder for chaining. */ public Builder setMinWidthFactor(double value) { minWidthFactor_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * The minimum allowed width relative to the initial width estimate
       * 
* * double min_width_factor = 6; * @return This builder for chaining. */ public Builder clearMinWidthFactor() { bitField0_ = (bitField0_ & ~0x00000010); minWidthFactor_ = 0D; onChanged(); return this; } private double maxWidthFactor_ ; /** *
       * The maximum allowed width relative to the initial width estimate
       * 
* * double max_width_factor = 7; * @return The maxWidthFactor. */ @java.lang.Override public double getMaxWidthFactor() { return maxWidthFactor_; } /** *
       * The maximum allowed width relative to the initial width estimate
       * 
* * double max_width_factor = 7; * @param value The maxWidthFactor to set. * @return This builder for chaining. */ public Builder setMaxWidthFactor(double value) { maxWidthFactor_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** *
       * The maximum allowed width relative to the initial width estimate
       * 
* * double max_width_factor = 7; * @return This builder for chaining. */ public Builder clearMaxWidthFactor() { bitField0_ = (bitField0_ & ~0x00000020); maxWidthFactor_ = 0D; onChanged(); return this; } private boolean disableSimpleFilter_ ; /** *
       * Set to true to disable the use of simple filters
       * 
* * bool disable_simple_filter = 8; * @return The disableSimpleFilter. */ @java.lang.Override public boolean getDisableSimpleFilter() { return disableSimpleFilter_; } /** *
       * Set to true to disable the use of simple filters
       * 
* * bool disable_simple_filter = 8; * @param value The disableSimpleFilter to set. * @return This builder for chaining. */ public Builder setDisableSimpleFilter(boolean value) { disableSimpleFilter_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
       * Set to true to disable the use of simple filters
       * 
* * bool disable_simple_filter = 8; * @return This builder for chaining. */ public Builder clearDisableSimpleFilter() { bitField0_ = (bitField0_ & ~0x00000040); disableSimpleFilter_ = false; onChanged(); return this; } private boolean smartFilter_ ; /** *
       * Set to true to use a smart filter
       * 
* * bool smart_filter = 9; * @return The smartFilter. */ @java.lang.Override public boolean getSmartFilter() { return smartFilter_; } /** *
       * Set to true to use a smart filter
       * 
* * bool smart_filter = 9; * @param value The smartFilter to set. * @return This builder for chaining. */ public Builder setSmartFilter(boolean value) { smartFilter_ = value; bitField0_ |= 0x00000080; onChanged(); return this; } /** *
       * Set to true to use a smart filter
       * 
* * bool smart_filter = 9; * @return This builder for chaining. */ public Builder clearSmartFilter() { bitField0_ = (bitField0_ & ~0x00000080); smartFilter_ = false; onChanged(); return this; } private java.lang.Object smartFilterString_ = ""; /** *
       * The smart filter expressed as a serialised string
       * 
* * string smart_filter_string = 10; * @return The smartFilterString. */ public java.lang.String getSmartFilterString() { java.lang.Object ref = smartFilterString_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); smartFilterString_ = s; return s; } else { return (java.lang.String) ref; } } /** *
       * The smart filter expressed as a serialised string
       * 
* * string smart_filter_string = 10; * @return The bytes for smartFilterString. */ public com.google.protobuf.ByteString getSmartFilterStringBytes() { java.lang.Object ref = smartFilterString_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); smartFilterString_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
       * The smart filter expressed as a serialised string
       * 
* * string smart_filter_string = 10; * @param value The smartFilterString to set. * @return This builder for chaining. */ public Builder setSmartFilterString( java.lang.String value) { if (value == null) { throw new NullPointerException(); } smartFilterString_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** *
       * The smart filter expressed as a serialised string
       * 
* * string smart_filter_string = 10; * @return This builder for chaining. */ public Builder clearSmartFilterString() { smartFilterString_ = getDefaultInstance().getSmartFilterString(); bitField0_ = (bitField0_ & ~0x00000100); onChanged(); return this; } /** *
       * The smart filter expressed as a serialised string
       * 
* * string smart_filter_string = 10; * @param value The bytes for smartFilterString to set. * @return This builder for chaining. */ public Builder setSmartFilterStringBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); smartFilterString_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } private int precisionMethod_ = 0; /** *
       * The type of precision filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @return The enum numeric value on the wire for precisionMethod. */ @java.lang.Override public int getPrecisionMethodValue() { return precisionMethod_; } /** *
       * The type of precision filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @param value The enum numeric value on the wire for precisionMethod to set. * @return This builder for chaining. */ public Builder setPrecisionMethodValue(int value) { precisionMethod_ = value; bitField0_ |= 0x00000200; onChanged(); return this; } /** *
       * The type of precision filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @return The precisionMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod getPrecisionMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod.forNumber(precisionMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod.UNRECOGNIZED : result; } /** *
       * The type of precision filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @param value The precisionMethod to set. * @return This builder for chaining. */ public Builder setPrecisionMethod(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.PrecisionMethod value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000200; precisionMethod_ = value.getNumber(); onChanged(); return this; } /** *
       * The type of precision filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.PrecisionMethod precision_method = 11; * @return This builder for chaining. */ public Builder clearPrecisionMethod() { bitField0_ = (bitField0_ & ~0x00000200); precisionMethod_ = 0; onChanged(); return this; } private double minZ_ ; /** *
       * The minimum z-depth
       * 
* * double min_z = 12; * @return The minZ. */ @java.lang.Override public double getMinZ() { return minZ_; } /** *
       * The minimum z-depth
       * 
* * double min_z = 12; * @param value The minZ to set. * @return This builder for chaining. */ public Builder setMinZ(double value) { minZ_ = value; bitField0_ |= 0x00000400; onChanged(); return this; } /** *
       * The minimum z-depth
       * 
* * double min_z = 12; * @return This builder for chaining. */ public Builder clearMinZ() { bitField0_ = (bitField0_ & ~0x00000400); minZ_ = 0D; onChanged(); return this; } private double maxZ_ ; /** *
       * The maximum z-depth
       * 
* * double max_z = 13; * @return The maxZ. */ @java.lang.Override public double getMaxZ() { return maxZ_; } /** *
       * The maximum z-depth
       * 
* * double max_z = 13; * @param value The maxZ to set. * @return This builder for chaining. */ public Builder setMaxZ(double value) { maxZ_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } /** *
       * The maximum z-depth
       * 
* * double max_z = 13; * @return This builder for chaining. */ public Builder clearMaxZ() { bitField0_ = (bitField0_ & ~0x00000800); maxZ_ = 0D; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:uk.ac.sussex.gdsc.smlm.data.config.FilterSettings) } // @@protoc_insertion_point(class_scope:uk.ac.sussex.gdsc.smlm.data.config.FilterSettings) private static final uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings(); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public FilterSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface FitSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:uk.ac.sussex.gdsc.smlm.data.config.FitSettings) com.google.protobuf.MessageOrBuilder { /** *
     * The fit solver settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; * @return Whether the fitSolverSettings field is set. */ boolean hasFitSolverSettings(); /** *
     * The fit solver settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; * @return The fitSolverSettings. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings getFitSolverSettings(); /** *
     * The fit solver settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettingsOrBuilder getFitSolverSettingsOrBuilder(); /** *
     * The filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; * @return Whether the filterSettings field is set. */ boolean hasFilterSettings(); /** *
     * The filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; * @return The filterSettings. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings getFilterSettings(); /** *
     * The filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettingsOrBuilder getFilterSettingsOrBuilder(); } /** *
   * Define the settings for fitting. These settings are used to fit a PSF to an
   * extracted region from the input data and validate the fit.
   * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FitSettings} */ public static final class FitSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:uk.ac.sussex.gdsc.smlm.data.config.FitSettings) FitSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use FitSettings.newBuilder() to construct. private FitSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private FitSettings() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new FitSettings(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.Builder.class); } public static final int FIT_SOLVER_SETTINGS_FIELD_NUMBER = 1; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings fitSolverSettings_; /** *
     * The fit solver settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; * @return Whether the fitSolverSettings field is set. */ @java.lang.Override public boolean hasFitSolverSettings() { return fitSolverSettings_ != null; } /** *
     * The fit solver settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; * @return The fitSolverSettings. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings getFitSolverSettings() { return fitSolverSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.getDefaultInstance() : fitSolverSettings_; } /** *
     * The fit solver settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettingsOrBuilder getFitSolverSettingsOrBuilder() { return fitSolverSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.getDefaultInstance() : fitSolverSettings_; } public static final int FILTER_SETTINGS_FIELD_NUMBER = 2; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings filterSettings_; /** *
     * The filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; * @return Whether the filterSettings field is set. */ @java.lang.Override public boolean hasFilterSettings() { return filterSettings_ != null; } /** *
     * The filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; * @return The filterSettings. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings getFilterSettings() { return filterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.getDefaultInstance() : filterSettings_; } /** *
     * The filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettingsOrBuilder getFilterSettingsOrBuilder() { return filterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.getDefaultInstance() : filterSettings_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (fitSolverSettings_ != null) { output.writeMessage(1, getFitSolverSettings()); } if (filterSettings_ != null) { output.writeMessage(2, getFilterSettings()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (fitSolverSettings_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getFitSolverSettings()); } if (filterSettings_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getFilterSettings()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings)) { return super.equals(obj); } uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings other = (uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings) obj; if (hasFitSolverSettings() != other.hasFitSolverSettings()) return false; if (hasFitSolverSettings()) { if (!getFitSolverSettings() .equals(other.getFitSolverSettings())) return false; } if (hasFilterSettings() != other.hasFilterSettings()) return false; if (hasFilterSettings()) { if (!getFilterSettings() .equals(other.getFilterSettings())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasFitSolverSettings()) { hash = (37 * hash) + FIT_SOLVER_SETTINGS_FIELD_NUMBER; hash = (53 * hash) + getFitSolverSettings().hashCode(); } if (hasFilterSettings()) { hash = (37 * hash) + FILTER_SETTINGS_FIELD_NUMBER; hash = (53 * hash) + getFilterSettings().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Define the settings for fitting. These settings are used to fit a PSF to an
     * extracted region from the input data and validate the fit.
     * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FitSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:uk.ac.sussex.gdsc.smlm.data.config.FitSettings) uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.Builder.class); } // Construct using uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; fitSolverSettings_ = null; if (fitSolverSettingsBuilder_ != null) { fitSolverSettingsBuilder_.dispose(); fitSolverSettingsBuilder_ = null; } filterSettings_ = null; if (filterSettingsBuilder_ != null) { filterSettingsBuilder_.dispose(); filterSettingsBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_descriptor; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings getDefaultInstanceForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.getDefaultInstance(); } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings build() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings buildPartial() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings result = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.fitSolverSettings_ = fitSolverSettingsBuilder_ == null ? fitSolverSettings_ : fitSolverSettingsBuilder_.build(); } if (((from_bitField0_ & 0x00000002) != 0)) { result.filterSettings_ = filterSettingsBuilder_ == null ? filterSettings_ : filterSettingsBuilder_.build(); } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings) { return mergeFrom((uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings other) { if (other == uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.getDefaultInstance()) return this; if (other.hasFitSolverSettings()) { mergeFitSolverSettings(other.getFitSolverSettings()); } if (other.hasFilterSettings()) { mergeFilterSettings(other.getFilterSettings()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { input.readMessage( getFitSolverSettingsFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000001; break; } // case 10 case 18: { input.readMessage( getFilterSettingsFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000002; break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings fitSolverSettings_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettingsOrBuilder> fitSolverSettingsBuilder_; /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; * @return Whether the fitSolverSettings field is set. */ public boolean hasFitSolverSettings() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; * @return The fitSolverSettings. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings getFitSolverSettings() { if (fitSolverSettingsBuilder_ == null) { return fitSolverSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.getDefaultInstance() : fitSolverSettings_; } else { return fitSolverSettingsBuilder_.getMessage(); } } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ public Builder setFitSolverSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings value) { if (fitSolverSettingsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } fitSolverSettings_ = value; } else { fitSolverSettingsBuilder_.setMessage(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ public Builder setFitSolverSettings( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.Builder builderForValue) { if (fitSolverSettingsBuilder_ == null) { fitSolverSettings_ = builderForValue.build(); } else { fitSolverSettingsBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ public Builder mergeFitSolverSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings value) { if (fitSolverSettingsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && fitSolverSettings_ != null && fitSolverSettings_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.getDefaultInstance()) { getFitSolverSettingsBuilder().mergeFrom(value); } else { fitSolverSettings_ = value; } } else { fitSolverSettingsBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ public Builder clearFitSolverSettings() { bitField0_ = (bitField0_ & ~0x00000001); fitSolverSettings_ = null; if (fitSolverSettingsBuilder_ != null) { fitSolverSettingsBuilder_.dispose(); fitSolverSettingsBuilder_ = null; } onChanged(); return this; } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.Builder getFitSolverSettingsBuilder() { bitField0_ |= 0x00000001; onChanged(); return getFitSolverSettingsFieldBuilder().getBuilder(); } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettingsOrBuilder getFitSolverSettingsOrBuilder() { if (fitSolverSettingsBuilder_ != null) { return fitSolverSettingsBuilder_.getMessageOrBuilder(); } else { return fitSolverSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.getDefaultInstance() : fitSolverSettings_; } } /** *
       * The fit solver settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSolverSettings fit_solver_settings = 1; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettingsOrBuilder> getFitSolverSettingsFieldBuilder() { if (fitSolverSettingsBuilder_ == null) { fitSolverSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSolverSettingsOrBuilder>( getFitSolverSettings(), getParentForChildren(), isClean()); fitSolverSettings_ = null; } return fitSolverSettingsBuilder_; } private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings filterSettings_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettingsOrBuilder> filterSettingsBuilder_; /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; * @return Whether the filterSettings field is set. */ public boolean hasFilterSettings() { return ((bitField0_ & 0x00000002) != 0); } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; * @return The filterSettings. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings getFilterSettings() { if (filterSettingsBuilder_ == null) { return filterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.getDefaultInstance() : filterSettings_; } else { return filterSettingsBuilder_.getMessage(); } } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ public Builder setFilterSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings value) { if (filterSettingsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } filterSettings_ = value; } else { filterSettingsBuilder_.setMessage(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ public Builder setFilterSettings( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.Builder builderForValue) { if (filterSettingsBuilder_ == null) { filterSettings_ = builderForValue.build(); } else { filterSettingsBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ public Builder mergeFilterSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings value) { if (filterSettingsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && filterSettings_ != null && filterSettings_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.getDefaultInstance()) { getFilterSettingsBuilder().mergeFrom(value); } else { filterSettings_ = value; } } else { filterSettingsBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ public Builder clearFilterSettings() { bitField0_ = (bitField0_ & ~0x00000002); filterSettings_ = null; if (filterSettingsBuilder_ != null) { filterSettingsBuilder_.dispose(); filterSettingsBuilder_ = null; } onChanged(); return this; } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.Builder getFilterSettingsBuilder() { bitField0_ |= 0x00000002; onChanged(); return getFilterSettingsFieldBuilder().getBuilder(); } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettingsOrBuilder getFilterSettingsOrBuilder() { if (filterSettingsBuilder_ != null) { return filterSettingsBuilder_.getMessageOrBuilder(); } else { return filterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.getDefaultInstance() : filterSettings_; } } /** *
       * The filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FilterSettings filter_settings = 2; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettingsOrBuilder> getFilterSettingsFieldBuilder() { if (filterSettingsBuilder_ == null) { filterSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FilterSettingsOrBuilder>( getFilterSettings(), getParentForChildren(), isClean()); filterSettings_ = null; } return filterSettingsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:uk.ac.sussex.gdsc.smlm.data.config.FitSettings) } // @@protoc_insertion_point(class_scope:uk.ac.sussex.gdsc.smlm.data.config.FitSettings) private static final uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings(); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public FitSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface RelativeParameterOrBuilder extends // @@protoc_insertion_point(interface_extends:uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter) com.google.protobuf.MessageOrBuilder { /** *
     * The value of the parameter
     * 
* * double value = 1; * @return The value. */ double getValue(); /** *
     * Set to true to use the absolute value. The default is relative to the PSF width.
     * 
* * bool absolute = 2; * @return The absolute. */ boolean getAbsolute(); } /** *
   * Define a parameter used during fitting that can be absolute of relative to the PSF width
   * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter} */ public static final class RelativeParameter extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter) RelativeParameterOrBuilder { private static final long serialVersionUID = 0L; // Use RelativeParameter.newBuilder() to construct. private RelativeParameter(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private RelativeParameter() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new RelativeParameter(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder.class); } public static final int VALUE_FIELD_NUMBER = 1; private double value_ = 0D; /** *
     * The value of the parameter
     * 
* * double value = 1; * @return The value. */ @java.lang.Override public double getValue() { return value_; } public static final int ABSOLUTE_FIELD_NUMBER = 2; private boolean absolute_ = false; /** *
     * Set to true to use the absolute value. The default is relative to the PSF width.
     * 
* * bool absolute = 2; * @return The absolute. */ @java.lang.Override public boolean getAbsolute() { return absolute_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (java.lang.Double.doubleToRawLongBits(value_) != 0) { output.writeDouble(1, value_); } if (absolute_ != false) { output.writeBool(2, absolute_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (java.lang.Double.doubleToRawLongBits(value_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(1, value_); } if (absolute_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(2, absolute_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter)) { return super.equals(obj); } uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter other = (uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter) obj; if (java.lang.Double.doubleToLongBits(getValue()) != java.lang.Double.doubleToLongBits( other.getValue())) return false; if (getAbsolute() != other.getAbsolute()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + VALUE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValue())); hash = (37 * hash) + ABSOLUTE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getAbsolute()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Define a parameter used during fitting that can be absolute of relative to the PSF width
     * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter) uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder.class); } // Construct using uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; value_ = 0D; absolute_ = false; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_descriptor; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getDefaultInstanceForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance(); } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter build() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter buildPartial() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter result = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.value_ = value_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.absolute_ = absolute_; } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter) { return mergeFrom((uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter other) { if (other == uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance()) return this; if (other.getValue() != 0D) { setValue(other.getValue()); } if (other.getAbsolute() != false) { setAbsolute(other.getAbsolute()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 9: { value_ = input.readDouble(); bitField0_ |= 0x00000001; break; } // case 9 case 16: { absolute_ = input.readBool(); bitField0_ |= 0x00000002; break; } // case 16 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private double value_ ; /** *
       * The value of the parameter
       * 
* * double value = 1; * @return The value. */ @java.lang.Override public double getValue() { return value_; } /** *
       * The value of the parameter
       * 
* * double value = 1; * @param value The value to set. * @return This builder for chaining. */ public Builder setValue(double value) { value_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The value of the parameter
       * 
* * double value = 1; * @return This builder for chaining. */ public Builder clearValue() { bitField0_ = (bitField0_ & ~0x00000001); value_ = 0D; onChanged(); return this; } private boolean absolute_ ; /** *
       * Set to true to use the absolute value. The default is relative to the PSF width.
       * 
* * bool absolute = 2; * @return The absolute. */ @java.lang.Override public boolean getAbsolute() { return absolute_; } /** *
       * Set to true to use the absolute value. The default is relative to the PSF width.
       * 
* * bool absolute = 2; * @param value The absolute to set. * @return This builder for chaining. */ public Builder setAbsolute(boolean value) { absolute_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * Set to true to use the absolute value. The default is relative to the PSF width.
       * 
* * bool absolute = 2; * @return This builder for chaining. */ public Builder clearAbsolute() { bitField0_ = (bitField0_ & ~0x00000002); absolute_ = false; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter) } // @@protoc_insertion_point(class_scope:uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter) private static final uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter(); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RelativeParameter parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface DataFilterOrBuilder extends // @@protoc_insertion_point(interface_extends:uk.ac.sussex.gdsc.smlm.data.config.DataFilter) com.google.protobuf.MessageOrBuilder { /** *
     * The method used by the data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @return The enum numeric value on the wire for dataFilterMethod. */ int getDataFilterMethodValue(); /** *
     * The method used by the data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @return The dataFilterMethod. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod getDataFilterMethod(); /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ java.util.List getParametersList(); /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getParameters(int index); /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ int getParametersCount(); /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ java.util.List getParametersOrBuilderList(); /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getParametersOrBuilder( int index); } /** *
   * Define a data filter
   * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.DataFilter} */ public static final class DataFilter extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:uk.ac.sussex.gdsc.smlm.data.config.DataFilter) DataFilterOrBuilder { private static final long serialVersionUID = 0L; // Use DataFilter.newBuilder() to construct. private DataFilter(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private DataFilter() { dataFilterMethod_ = 0; parameters_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new DataFilter(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder.class); } public static final int DATA_FILTER_METHOD_FIELD_NUMBER = 1; private int dataFilterMethod_ = 0; /** *
     * The method used by the data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @return The enum numeric value on the wire for dataFilterMethod. */ @java.lang.Override public int getDataFilterMethodValue() { return dataFilterMethod_; } /** *
     * The method used by the data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @return The dataFilterMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod getDataFilterMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod.forNumber(dataFilterMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod.UNRECOGNIZED : result; } public static final int PARAMETERS_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List parameters_; /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ @java.lang.Override public java.util.List getParametersList() { return parameters_; } /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ @java.lang.Override public java.util.List getParametersOrBuilderList() { return parameters_; } /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ @java.lang.Override public int getParametersCount() { return parameters_.size(); } /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getParameters(int index) { return parameters_.get(index); } /** *
     * Any parameters used by the data filter. These can be in pixels
     * or relative to the PSF width.
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getParametersOrBuilder( int index) { return parameters_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (dataFilterMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod.MEAN.getNumber()) { output.writeEnum(1, dataFilterMethod_); } for (int i = 0; i < parameters_.size(); i++) { output.writeMessage(2, parameters_.get(i)); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (dataFilterMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod.MEAN.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(1, dataFilterMethod_); } for (int i = 0; i < parameters_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, parameters_.get(i)); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter)) { return super.equals(obj); } uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter other = (uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter) obj; if (dataFilterMethod_ != other.dataFilterMethod_) return false; if (!getParametersList() .equals(other.getParametersList())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + DATA_FILTER_METHOD_FIELD_NUMBER; hash = (53 * hash) + dataFilterMethod_; if (getParametersCount() > 0) { hash = (37 * hash) + PARAMETERS_FIELD_NUMBER; hash = (53 * hash) + getParametersList().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Define a data filter
     * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.DataFilter} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:uk.ac.sussex.gdsc.smlm.data.config.DataFilter) uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder.class); } // Construct using uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; dataFilterMethod_ = 0; if (parametersBuilder_ == null) { parameters_ = java.util.Collections.emptyList(); } else { parameters_ = null; parametersBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_descriptor; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter getDefaultInstanceForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.getDefaultInstance(); } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter build() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter buildPartial() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter result = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter result) { if (parametersBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { parameters_ = java.util.Collections.unmodifiableList(parameters_); bitField0_ = (bitField0_ & ~0x00000002); } result.parameters_ = parameters_; } else { result.parameters_ = parametersBuilder_.build(); } } private void buildPartial0(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.dataFilterMethod_ = dataFilterMethod_; } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter) { return mergeFrom((uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter other) { if (other == uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.getDefaultInstance()) return this; if (other.dataFilterMethod_ != 0) { setDataFilterMethodValue(other.getDataFilterMethodValue()); } if (parametersBuilder_ == null) { if (!other.parameters_.isEmpty()) { if (parameters_.isEmpty()) { parameters_ = other.parameters_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureParametersIsMutable(); parameters_.addAll(other.parameters_); } onChanged(); } } else { if (!other.parameters_.isEmpty()) { if (parametersBuilder_.isEmpty()) { parametersBuilder_.dispose(); parametersBuilder_ = null; parameters_ = other.parameters_; bitField0_ = (bitField0_ & ~0x00000002); parametersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getParametersFieldBuilder() : null; } else { parametersBuilder_.addAllMessages(other.parameters_); } } } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { dataFilterMethod_ = input.readEnum(); bitField0_ |= 0x00000001; break; } // case 8 case 18: { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter m = input.readMessage( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.parser(), extensionRegistry); if (parametersBuilder_ == null) { ensureParametersIsMutable(); parameters_.add(m); } else { parametersBuilder_.addMessage(m); } break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int dataFilterMethod_ = 0; /** *
       * The method used by the data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @return The enum numeric value on the wire for dataFilterMethod. */ @java.lang.Override public int getDataFilterMethodValue() { return dataFilterMethod_; } /** *
       * The method used by the data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @param value The enum numeric value on the wire for dataFilterMethod to set. * @return This builder for chaining. */ public Builder setDataFilterMethodValue(int value) { dataFilterMethod_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The method used by the data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @return The dataFilterMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod getDataFilterMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod.forNumber(dataFilterMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod.UNRECOGNIZED : result; } /** *
       * The method used by the data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @param value The dataFilterMethod to set. * @return This builder for chaining. */ public Builder setDataFilterMethod(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterMethod value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000001; dataFilterMethod_ = value.getNumber(); onChanged(); return this; } /** *
       * The method used by the data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterMethod data_filter_method = 1; * @return This builder for chaining. */ public Builder clearDataFilterMethod() { bitField0_ = (bitField0_ & ~0x00000001); dataFilterMethod_ = 0; onChanged(); return this; } private java.util.List parameters_ = java.util.Collections.emptyList(); private void ensureParametersIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { parameters_ = new java.util.ArrayList(parameters_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> parametersBuilder_; /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public java.util.List getParametersList() { if (parametersBuilder_ == null) { return java.util.Collections.unmodifiableList(parameters_); } else { return parametersBuilder_.getMessageList(); } } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public int getParametersCount() { if (parametersBuilder_ == null) { return parameters_.size(); } else { return parametersBuilder_.getCount(); } } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getParameters(int index) { if (parametersBuilder_ == null) { return parameters_.get(index); } else { return parametersBuilder_.getMessage(index); } } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder setParameters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (parametersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureParametersIsMutable(); parameters_.set(index, value); onChanged(); } else { parametersBuilder_.setMessage(index, value); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder setParameters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder builderForValue) { if (parametersBuilder_ == null) { ensureParametersIsMutable(); parameters_.set(index, builderForValue.build()); onChanged(); } else { parametersBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder addParameters(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (parametersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureParametersIsMutable(); parameters_.add(value); onChanged(); } else { parametersBuilder_.addMessage(value); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder addParameters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (parametersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureParametersIsMutable(); parameters_.add(index, value); onChanged(); } else { parametersBuilder_.addMessage(index, value); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder addParameters( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder builderForValue) { if (parametersBuilder_ == null) { ensureParametersIsMutable(); parameters_.add(builderForValue.build()); onChanged(); } else { parametersBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder addParameters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder builderForValue) { if (parametersBuilder_ == null) { ensureParametersIsMutable(); parameters_.add(index, builderForValue.build()); onChanged(); } else { parametersBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder addAllParameters( java.lang.Iterable values) { if (parametersBuilder_ == null) { ensureParametersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, parameters_); onChanged(); } else { parametersBuilder_.addAllMessages(values); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder clearParameters() { if (parametersBuilder_ == null) { parameters_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { parametersBuilder_.clear(); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public Builder removeParameters(int index) { if (parametersBuilder_ == null) { ensureParametersIsMutable(); parameters_.remove(index); onChanged(); } else { parametersBuilder_.remove(index); } return this; } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder getParametersBuilder( int index) { return getParametersFieldBuilder().getBuilder(index); } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getParametersOrBuilder( int index) { if (parametersBuilder_ == null) { return parameters_.get(index); } else { return parametersBuilder_.getMessageOrBuilder(index); } } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public java.util.List getParametersOrBuilderList() { if (parametersBuilder_ != null) { return parametersBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(parameters_); } } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder addParametersBuilder() { return getParametersFieldBuilder().addBuilder( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance()); } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder addParametersBuilder( int index) { return getParametersFieldBuilder().addBuilder( index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance()); } /** *
       * Any parameters used by the data filter. These can be in pixels
       * or relative to the PSF width.
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter parameters = 2; */ public java.util.List getParametersBuilderList() { return getParametersFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> getParametersFieldBuilder() { if (parametersBuilder_ == null) { parametersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder>( parameters_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); parameters_ = null; } return parametersBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:uk.ac.sussex.gdsc.smlm.data.config.DataFilter) } // @@protoc_insertion_point(class_scope:uk.ac.sussex.gdsc.smlm.data.config.DataFilter) private static final uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter(); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public DataFilter parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface DataFilterSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings) com.google.protobuf.MessageOrBuilder { /** *
     * The type of data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @return The enum numeric value on the wire for dataFilterType. */ int getDataFilterTypeValue(); /** *
     * The type of data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @return The dataFilterType. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType getDataFilterType(); /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ java.util.List getDataFiltersList(); /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter getDataFilters(int index); /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ int getDataFiltersCount(); /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ java.util.List getDataFiltersOrBuilderList(); /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterOrBuilder getDataFiltersOrBuilder( int index); } /** *
   * Define the settings for filtering data to identify candidates.
   * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings} */ public static final class DataFilterSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings) DataFilterSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use DataFilterSettings.newBuilder() to construct. private DataFilterSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private DataFilterSettings() { dataFilterType_ = 0; dataFilters_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new DataFilterSettings(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.Builder.class); } public static final int DATA_FILTER_TYPE_FIELD_NUMBER = 1; private int dataFilterType_ = 0; /** *
     * The type of data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @return The enum numeric value on the wire for dataFilterType. */ @java.lang.Override public int getDataFilterTypeValue() { return dataFilterType_; } /** *
     * The type of data filter
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @return The dataFilterType. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType getDataFilterType() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType.forNumber(dataFilterType_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType.UNRECOGNIZED : result; } public static final int DATA_FILTERS_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List dataFilters_; /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ @java.lang.Override public java.util.List getDataFiltersList() { return dataFilters_; } /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ @java.lang.Override public java.util.List getDataFiltersOrBuilderList() { return dataFilters_; } /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ @java.lang.Override public int getDataFiltersCount() { return dataFilters_.size(); } /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter getDataFilters(int index) { return dataFilters_.get(index); } /** *
     * The data filter
     * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterOrBuilder getDataFiltersOrBuilder( int index) { return dataFilters_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (dataFilterType_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType.SINGLE.getNumber()) { output.writeEnum(1, dataFilterType_); } for (int i = 0; i < dataFilters_.size(); i++) { output.writeMessage(2, dataFilters_.get(i)); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (dataFilterType_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType.SINGLE.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(1, dataFilterType_); } for (int i = 0; i < dataFilters_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, dataFilters_.get(i)); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings)) { return super.equals(obj); } uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings other = (uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings) obj; if (dataFilterType_ != other.dataFilterType_) return false; if (!getDataFiltersList() .equals(other.getDataFiltersList())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + DATA_FILTER_TYPE_FIELD_NUMBER; hash = (53 * hash) + dataFilterType_; if (getDataFiltersCount() > 0) { hash = (37 * hash) + DATA_FILTERS_FIELD_NUMBER; hash = (53 * hash) + getDataFiltersList().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Define the settings for filtering data to identify candidates.
     * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings) uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.Builder.class); } // Construct using uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; dataFilterType_ = 0; if (dataFiltersBuilder_ == null) { dataFilters_ = java.util.Collections.emptyList(); } else { dataFilters_ = null; dataFiltersBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_descriptor; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings getDefaultInstanceForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.getDefaultInstance(); } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings build() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings buildPartial() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings result = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings result) { if (dataFiltersBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { dataFilters_ = java.util.Collections.unmodifiableList(dataFilters_); bitField0_ = (bitField0_ & ~0x00000002); } result.dataFilters_ = dataFilters_; } else { result.dataFilters_ = dataFiltersBuilder_.build(); } } private void buildPartial0(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.dataFilterType_ = dataFilterType_; } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings) { return mergeFrom((uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings other) { if (other == uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.getDefaultInstance()) return this; if (other.dataFilterType_ != 0) { setDataFilterTypeValue(other.getDataFilterTypeValue()); } if (dataFiltersBuilder_ == null) { if (!other.dataFilters_.isEmpty()) { if (dataFilters_.isEmpty()) { dataFilters_ = other.dataFilters_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureDataFiltersIsMutable(); dataFilters_.addAll(other.dataFilters_); } onChanged(); } } else { if (!other.dataFilters_.isEmpty()) { if (dataFiltersBuilder_.isEmpty()) { dataFiltersBuilder_.dispose(); dataFiltersBuilder_ = null; dataFilters_ = other.dataFilters_; bitField0_ = (bitField0_ & ~0x00000002); dataFiltersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDataFiltersFieldBuilder() : null; } else { dataFiltersBuilder_.addAllMessages(other.dataFilters_); } } } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 8: { dataFilterType_ = input.readEnum(); bitField0_ |= 0x00000001; break; } // case 8 case 18: { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter m = input.readMessage( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.parser(), extensionRegistry); if (dataFiltersBuilder_ == null) { ensureDataFiltersIsMutable(); dataFilters_.add(m); } else { dataFiltersBuilder_.addMessage(m); } break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int dataFilterType_ = 0; /** *
       * The type of data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @return The enum numeric value on the wire for dataFilterType. */ @java.lang.Override public int getDataFilterTypeValue() { return dataFilterType_; } /** *
       * The type of data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @param value The enum numeric value on the wire for dataFilterType to set. * @return This builder for chaining. */ public Builder setDataFilterTypeValue(int value) { dataFilterType_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The type of data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @return The dataFilterType. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType getDataFilterType() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType.forNumber(dataFilterType_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType.UNRECOGNIZED : result; } /** *
       * The type of data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @param value The dataFilterType to set. * @return This builder for chaining. */ public Builder setDataFilterType(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterType value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000001; dataFilterType_ = value.getNumber(); onChanged(); return this; } /** *
       * The type of data filter
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterType data_filter_type = 1; * @return This builder for chaining. */ public Builder clearDataFilterType() { bitField0_ = (bitField0_ & ~0x00000001); dataFilterType_ = 0; onChanged(); return this; } private java.util.List dataFilters_ = java.util.Collections.emptyList(); private void ensureDataFiltersIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { dataFilters_ = new java.util.ArrayList(dataFilters_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterOrBuilder> dataFiltersBuilder_; /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public java.util.List getDataFiltersList() { if (dataFiltersBuilder_ == null) { return java.util.Collections.unmodifiableList(dataFilters_); } else { return dataFiltersBuilder_.getMessageList(); } } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public int getDataFiltersCount() { if (dataFiltersBuilder_ == null) { return dataFilters_.size(); } else { return dataFiltersBuilder_.getCount(); } } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter getDataFilters(int index) { if (dataFiltersBuilder_ == null) { return dataFilters_.get(index); } else { return dataFiltersBuilder_.getMessage(index); } } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder setDataFilters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter value) { if (dataFiltersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureDataFiltersIsMutable(); dataFilters_.set(index, value); onChanged(); } else { dataFiltersBuilder_.setMessage(index, value); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder setDataFilters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder builderForValue) { if (dataFiltersBuilder_ == null) { ensureDataFiltersIsMutable(); dataFilters_.set(index, builderForValue.build()); onChanged(); } else { dataFiltersBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder addDataFilters(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter value) { if (dataFiltersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureDataFiltersIsMutable(); dataFilters_.add(value); onChanged(); } else { dataFiltersBuilder_.addMessage(value); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder addDataFilters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter value) { if (dataFiltersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureDataFiltersIsMutable(); dataFilters_.add(index, value); onChanged(); } else { dataFiltersBuilder_.addMessage(index, value); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder addDataFilters( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder builderForValue) { if (dataFiltersBuilder_ == null) { ensureDataFiltersIsMutable(); dataFilters_.add(builderForValue.build()); onChanged(); } else { dataFiltersBuilder_.addMessage(builderForValue.build()); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder addDataFilters( int index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder builderForValue) { if (dataFiltersBuilder_ == null) { ensureDataFiltersIsMutable(); dataFilters_.add(index, builderForValue.build()); onChanged(); } else { dataFiltersBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder addAllDataFilters( java.lang.Iterable values) { if (dataFiltersBuilder_ == null) { ensureDataFiltersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, dataFilters_); onChanged(); } else { dataFiltersBuilder_.addAllMessages(values); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder clearDataFilters() { if (dataFiltersBuilder_ == null) { dataFilters_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { dataFiltersBuilder_.clear(); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public Builder removeDataFilters(int index) { if (dataFiltersBuilder_ == null) { ensureDataFiltersIsMutable(); dataFilters_.remove(index); onChanged(); } else { dataFiltersBuilder_.remove(index); } return this; } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder getDataFiltersBuilder( int index) { return getDataFiltersFieldBuilder().getBuilder(index); } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterOrBuilder getDataFiltersOrBuilder( int index) { if (dataFiltersBuilder_ == null) { return dataFilters_.get(index); } else { return dataFiltersBuilder_.getMessageOrBuilder(index); } } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public java.util.List getDataFiltersOrBuilderList() { if (dataFiltersBuilder_ != null) { return dataFiltersBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(dataFilters_); } } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder addDataFiltersBuilder() { return getDataFiltersFieldBuilder().addBuilder( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.getDefaultInstance()); } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder addDataFiltersBuilder( int index) { return getDataFiltersFieldBuilder().addBuilder( index, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.getDefaultInstance()); } /** *
       * The data filter
       * 
* * repeated .uk.ac.sussex.gdsc.smlm.data.config.DataFilter data_filters = 2; */ public java.util.List getDataFiltersBuilderList() { return getDataFiltersFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterOrBuilder> getDataFiltersFieldBuilder() { if (dataFiltersBuilder_ == null) { dataFiltersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterOrBuilder>( dataFilters_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); dataFilters_ = null; } return dataFiltersBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings) } // @@protoc_insertion_point(class_scope:uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings) private static final uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings(); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public DataFilterSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface FitEngineSettingsOrBuilder extends // @@protoc_insertion_point(interface_extends:uk.ac.sussex.gdsc.smlm.data.config.FitEngineSettings) com.google.protobuf.MessageOrBuilder { /** *
     * The fit settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; * @return Whether the fitSettings field is set. */ boolean hasFitSettings(); /** *
     * The fit settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; * @return The fitSettings. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings getFitSettings(); /** *
     * The fit settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettingsOrBuilder getFitSettingsOrBuilder(); /** *
     * the method for estimating noise in the entire frame
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @return The enum numeric value on the wire for noiseMethod. */ int getNoiseMethodValue(); /** *
     * the method for estimating noise in the entire frame
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @return The noiseMethod. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod getNoiseMethod(); /** *
     * The data filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; * @return Whether the dataFilterSettings field is set. */ boolean hasDataFilterSettings(); /** *
     * The data filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; * @return The dataFilterSettings. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings getDataFilterSettings(); /** *
     * The data filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettingsOrBuilder getDataFilterSettingsOrBuilder(); /** *
     * The square radius to use to identify local maxima (candidates)
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; * @return Whether the search field is set. */ boolean hasSearch(); /** *
     * The square radius to use to identify local maxima (candidates)
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; * @return The search. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getSearch(); /** *
     * The square radius to use to identify local maxima (candidates)
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getSearchOrBuilder(); /** *
     * The border to ignore at the edge of the image
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; * @return Whether the border field is set. */ boolean hasBorder(); /** *
     * The border to ignore at the edge of the image
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; * @return The border. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getBorder(); /** *
     * The border to ignore at the edge of the image
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getBorderOrBuilder(); /** *
     * The square radius to use for fitting around each candidate
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; * @return Whether the fitting field is set. */ boolean hasFitting(); /** *
     * The square radius to use for fitting around each candidate
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; * @return The fitting. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getFitting(); /** *
     * The square radius to use for fitting around each candidate
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getFittingOrBuilder(); /** *
     * Set to true to include neighbours during fitting
     * 
* * bool include_neighbours = 7; * @return The includeNeighbours. */ boolean getIncludeNeighbours(); /** *
     * The height threshold for including neighbours expressed relative to the current candidate
     * 
* * double neighbour_height_threshold = 8; * @return The neighbourHeightThreshold. */ double getNeighbourHeightThreshold(); /** *
     * The residuals threshold for refitting a single peak as a doublet following analysis of the symmetry of the fit residuals.
     * 
* * double residuals_threshold = 9; * @return The residualsThreshold. */ double getResidualsThreshold(); /** *
     * The distance to categorise localisations as duplicates and ignore them.
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; * @return Whether the duplicateDistance field is set. */ boolean hasDuplicateDistance(); /** *
     * The distance to categorise localisations as duplicates and ignore them.
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; * @return The duplicateDistance. */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getDuplicateDistance(); /** *
     * The distance to categorise localisations as duplicates and ignore them.
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getDuplicateDistanceOrBuilder(); /** *
     * The number of consecutive failures to allow before stopping fitting of the remaining candidates.
     * Set to negative to disable.
     * 
* * int32 failures_limit = 11; * @return The failuresLimit. */ int getFailuresLimit(); /** *
     * The pass rate (range 0-1) to continue fitting. If the fraction of accepted fits falls below
     * this threshold then stop fitting of the remaining candidates. Set to zero to disable.
     * 
* * double pass_rate = 12; * @return The passRate. */ double getPassRate(); } /** *
   * Define the settings for the fit engine. These settings are used to identify
   * candidates in the input data, extract regions for fitting, fit using various
   * methods (single, multiple, doublet) and select the best fit.
   * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FitEngineSettings} */ public static final class FitEngineSettings extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:uk.ac.sussex.gdsc.smlm.data.config.FitEngineSettings) FitEngineSettingsOrBuilder { private static final long serialVersionUID = 0L; // Use FitEngineSettings.newBuilder() to construct. private FitEngineSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private FitEngineSettings() { noiseMethod_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new FitEngineSettings(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings.Builder.class); } public static final int FIT_SETTINGS_FIELD_NUMBER = 1; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings fitSettings_; /** *
     * The fit settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; * @return Whether the fitSettings field is set. */ @java.lang.Override public boolean hasFitSettings() { return fitSettings_ != null; } /** *
     * The fit settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; * @return The fitSettings. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings getFitSettings() { return fitSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.getDefaultInstance() : fitSettings_; } /** *
     * The fit settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettingsOrBuilder getFitSettingsOrBuilder() { return fitSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.getDefaultInstance() : fitSettings_; } public static final int NOISE_METHOD_FIELD_NUMBER = 2; private int noiseMethod_ = 0; /** *
     * the method for estimating noise in the entire frame
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @return The enum numeric value on the wire for noiseMethod. */ @java.lang.Override public int getNoiseMethodValue() { return noiseMethod_; } /** *
     * the method for estimating noise in the entire frame
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @return The noiseMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod getNoiseMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod.forNumber(noiseMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod.UNRECOGNIZED : result; } public static final int DATA_FILTER_SETTINGS_FIELD_NUMBER = 3; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings dataFilterSettings_; /** *
     * The data filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; * @return Whether the dataFilterSettings field is set. */ @java.lang.Override public boolean hasDataFilterSettings() { return dataFilterSettings_ != null; } /** *
     * The data filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; * @return The dataFilterSettings. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings getDataFilterSettings() { return dataFilterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.getDefaultInstance() : dataFilterSettings_; } /** *
     * The data filter settings
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettingsOrBuilder getDataFilterSettingsOrBuilder() { return dataFilterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.getDefaultInstance() : dataFilterSettings_; } public static final int SEARCH_FIELD_NUMBER = 4; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter search_; /** *
     * The square radius to use to identify local maxima (candidates)
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; * @return Whether the search field is set. */ @java.lang.Override public boolean hasSearch() { return search_ != null; } /** *
     * The square radius to use to identify local maxima (candidates)
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; * @return The search. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getSearch() { return search_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : search_; } /** *
     * The square radius to use to identify local maxima (candidates)
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getSearchOrBuilder() { return search_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : search_; } public static final int BORDER_FIELD_NUMBER = 5; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter border_; /** *
     * The border to ignore at the edge of the image
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; * @return Whether the border field is set. */ @java.lang.Override public boolean hasBorder() { return border_ != null; } /** *
     * The border to ignore at the edge of the image
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; * @return The border. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getBorder() { return border_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : border_; } /** *
     * The border to ignore at the edge of the image
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getBorderOrBuilder() { return border_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : border_; } public static final int FITTING_FIELD_NUMBER = 6; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter fitting_; /** *
     * The square radius to use for fitting around each candidate
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; * @return Whether the fitting field is set. */ @java.lang.Override public boolean hasFitting() { return fitting_ != null; } /** *
     * The square radius to use for fitting around each candidate
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; * @return The fitting. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getFitting() { return fitting_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : fitting_; } /** *
     * The square radius to use for fitting around each candidate
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getFittingOrBuilder() { return fitting_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : fitting_; } public static final int INCLUDE_NEIGHBOURS_FIELD_NUMBER = 7; private boolean includeNeighbours_ = false; /** *
     * Set to true to include neighbours during fitting
     * 
* * bool include_neighbours = 7; * @return The includeNeighbours. */ @java.lang.Override public boolean getIncludeNeighbours() { return includeNeighbours_; } public static final int NEIGHBOUR_HEIGHT_THRESHOLD_FIELD_NUMBER = 8; private double neighbourHeightThreshold_ = 0D; /** *
     * The height threshold for including neighbours expressed relative to the current candidate
     * 
* * double neighbour_height_threshold = 8; * @return The neighbourHeightThreshold. */ @java.lang.Override public double getNeighbourHeightThreshold() { return neighbourHeightThreshold_; } public static final int RESIDUALS_THRESHOLD_FIELD_NUMBER = 9; private double residualsThreshold_ = 0D; /** *
     * The residuals threshold for refitting a single peak as a doublet following analysis of the symmetry of the fit residuals.
     * 
* * double residuals_threshold = 9; * @return The residualsThreshold. */ @java.lang.Override public double getResidualsThreshold() { return residualsThreshold_; } public static final int DUPLICATE_DISTANCE_FIELD_NUMBER = 10; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter duplicateDistance_; /** *
     * The distance to categorise localisations as duplicates and ignore them.
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; * @return Whether the duplicateDistance field is set. */ @java.lang.Override public boolean hasDuplicateDistance() { return duplicateDistance_ != null; } /** *
     * The distance to categorise localisations as duplicates and ignore them.
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; * @return The duplicateDistance. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getDuplicateDistance() { return duplicateDistance_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : duplicateDistance_; } /** *
     * The distance to categorise localisations as duplicates and ignore them.
     * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getDuplicateDistanceOrBuilder() { return duplicateDistance_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : duplicateDistance_; } public static final int FAILURES_LIMIT_FIELD_NUMBER = 11; private int failuresLimit_ = 0; /** *
     * The number of consecutive failures to allow before stopping fitting of the remaining candidates.
     * Set to negative to disable.
     * 
* * int32 failures_limit = 11; * @return The failuresLimit. */ @java.lang.Override public int getFailuresLimit() { return failuresLimit_; } public static final int PASS_RATE_FIELD_NUMBER = 12; private double passRate_ = 0D; /** *
     * The pass rate (range 0-1) to continue fitting. If the fraction of accepted fits falls below
     * this threshold then stop fitting of the remaining candidates. Set to zero to disable.
     * 
* * double pass_rate = 12; * @return The passRate. */ @java.lang.Override public double getPassRate() { return passRate_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (fitSettings_ != null) { output.writeMessage(1, getFitSettings()); } if (noiseMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod.ALL_PIXELS.getNumber()) { output.writeEnum(2, noiseMethod_); } if (dataFilterSettings_ != null) { output.writeMessage(3, getDataFilterSettings()); } if (search_ != null) { output.writeMessage(4, getSearch()); } if (border_ != null) { output.writeMessage(5, getBorder()); } if (fitting_ != null) { output.writeMessage(6, getFitting()); } if (includeNeighbours_ != false) { output.writeBool(7, includeNeighbours_); } if (java.lang.Double.doubleToRawLongBits(neighbourHeightThreshold_) != 0) { output.writeDouble(8, neighbourHeightThreshold_); } if (java.lang.Double.doubleToRawLongBits(residualsThreshold_) != 0) { output.writeDouble(9, residualsThreshold_); } if (duplicateDistance_ != null) { output.writeMessage(10, getDuplicateDistance()); } if (failuresLimit_ != 0) { output.writeInt32(11, failuresLimit_); } if (java.lang.Double.doubleToRawLongBits(passRate_) != 0) { output.writeDouble(12, passRate_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (fitSettings_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getFitSettings()); } if (noiseMethod_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod.ALL_PIXELS.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(2, noiseMethod_); } if (dataFilterSettings_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getDataFilterSettings()); } if (search_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getSearch()); } if (border_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getBorder()); } if (fitting_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getFitting()); } if (includeNeighbours_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(7, includeNeighbours_); } if (java.lang.Double.doubleToRawLongBits(neighbourHeightThreshold_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(8, neighbourHeightThreshold_); } if (java.lang.Double.doubleToRawLongBits(residualsThreshold_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(9, residualsThreshold_); } if (duplicateDistance_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(10, getDuplicateDistance()); } if (failuresLimit_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(11, failuresLimit_); } if (java.lang.Double.doubleToRawLongBits(passRate_) != 0) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(12, passRate_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings)) { return super.equals(obj); } uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings other = (uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings) obj; if (hasFitSettings() != other.hasFitSettings()) return false; if (hasFitSettings()) { if (!getFitSettings() .equals(other.getFitSettings())) return false; } if (noiseMethod_ != other.noiseMethod_) return false; if (hasDataFilterSettings() != other.hasDataFilterSettings()) return false; if (hasDataFilterSettings()) { if (!getDataFilterSettings() .equals(other.getDataFilterSettings())) return false; } if (hasSearch() != other.hasSearch()) return false; if (hasSearch()) { if (!getSearch() .equals(other.getSearch())) return false; } if (hasBorder() != other.hasBorder()) return false; if (hasBorder()) { if (!getBorder() .equals(other.getBorder())) return false; } if (hasFitting() != other.hasFitting()) return false; if (hasFitting()) { if (!getFitting() .equals(other.getFitting())) return false; } if (getIncludeNeighbours() != other.getIncludeNeighbours()) return false; if (java.lang.Double.doubleToLongBits(getNeighbourHeightThreshold()) != java.lang.Double.doubleToLongBits( other.getNeighbourHeightThreshold())) return false; if (java.lang.Double.doubleToLongBits(getResidualsThreshold()) != java.lang.Double.doubleToLongBits( other.getResidualsThreshold())) return false; if (hasDuplicateDistance() != other.hasDuplicateDistance()) return false; if (hasDuplicateDistance()) { if (!getDuplicateDistance() .equals(other.getDuplicateDistance())) return false; } if (getFailuresLimit() != other.getFailuresLimit()) return false; if (java.lang.Double.doubleToLongBits(getPassRate()) != java.lang.Double.doubleToLongBits( other.getPassRate())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasFitSettings()) { hash = (37 * hash) + FIT_SETTINGS_FIELD_NUMBER; hash = (53 * hash) + getFitSettings().hashCode(); } hash = (37 * hash) + NOISE_METHOD_FIELD_NUMBER; hash = (53 * hash) + noiseMethod_; if (hasDataFilterSettings()) { hash = (37 * hash) + DATA_FILTER_SETTINGS_FIELD_NUMBER; hash = (53 * hash) + getDataFilterSettings().hashCode(); } if (hasSearch()) { hash = (37 * hash) + SEARCH_FIELD_NUMBER; hash = (53 * hash) + getSearch().hashCode(); } if (hasBorder()) { hash = (37 * hash) + BORDER_FIELD_NUMBER; hash = (53 * hash) + getBorder().hashCode(); } if (hasFitting()) { hash = (37 * hash) + FITTING_FIELD_NUMBER; hash = (53 * hash) + getFitting().hashCode(); } hash = (37 * hash) + INCLUDE_NEIGHBOURS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getIncludeNeighbours()); hash = (37 * hash) + NEIGHBOUR_HEIGHT_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getNeighbourHeightThreshold())); hash = (37 * hash) + RESIDUALS_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getResidualsThreshold())); if (hasDuplicateDistance()) { hash = (37 * hash) + DUPLICATE_DISTANCE_FIELD_NUMBER; hash = (53 * hash) + getDuplicateDistance().hashCode(); } hash = (37 * hash) + FAILURES_LIMIT_FIELD_NUMBER; hash = (53 * hash) + getFailuresLimit(); hash = (37 * hash) + PASS_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getPassRate())); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * Define the settings for the fit engine. These settings are used to identify
     * candidates in the input data, extract regions for fitting, fit using various
     * methods (single, multiple, doublet) and select the best fit.
     * 
* * Protobuf type {@code uk.ac.sussex.gdsc.smlm.data.config.FitEngineSettings} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:uk.ac.sussex.gdsc.smlm.data.config.FitEngineSettings) uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettingsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_fieldAccessorTable .ensureFieldAccessorsInitialized( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings.class, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings.Builder.class); } // Construct using uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; fitSettings_ = null; if (fitSettingsBuilder_ != null) { fitSettingsBuilder_.dispose(); fitSettingsBuilder_ = null; } noiseMethod_ = 0; dataFilterSettings_ = null; if (dataFilterSettingsBuilder_ != null) { dataFilterSettingsBuilder_.dispose(); dataFilterSettingsBuilder_ = null; } search_ = null; if (searchBuilder_ != null) { searchBuilder_.dispose(); searchBuilder_ = null; } border_ = null; if (borderBuilder_ != null) { borderBuilder_.dispose(); borderBuilder_ = null; } fitting_ = null; if (fittingBuilder_ != null) { fittingBuilder_.dispose(); fittingBuilder_ = null; } includeNeighbours_ = false; neighbourHeightThreshold_ = 0D; residualsThreshold_ = 0D; duplicateDistance_ = null; if (duplicateDistanceBuilder_ != null) { duplicateDistanceBuilder_.dispose(); duplicateDistanceBuilder_ = null; } failuresLimit_ = 0; passRate_ = 0D; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_descriptor; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings getDefaultInstanceForType() { return uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings.getDefaultInstance(); } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings build() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings buildPartial() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings result = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.fitSettings_ = fitSettingsBuilder_ == null ? fitSettings_ : fitSettingsBuilder_.build(); } if (((from_bitField0_ & 0x00000002) != 0)) { result.noiseMethod_ = noiseMethod_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.dataFilterSettings_ = dataFilterSettingsBuilder_ == null ? dataFilterSettings_ : dataFilterSettingsBuilder_.build(); } if (((from_bitField0_ & 0x00000008) != 0)) { result.search_ = searchBuilder_ == null ? search_ : searchBuilder_.build(); } if (((from_bitField0_ & 0x00000010) != 0)) { result.border_ = borderBuilder_ == null ? border_ : borderBuilder_.build(); } if (((from_bitField0_ & 0x00000020) != 0)) { result.fitting_ = fittingBuilder_ == null ? fitting_ : fittingBuilder_.build(); } if (((from_bitField0_ & 0x00000040) != 0)) { result.includeNeighbours_ = includeNeighbours_; } if (((from_bitField0_ & 0x00000080) != 0)) { result.neighbourHeightThreshold_ = neighbourHeightThreshold_; } if (((from_bitField0_ & 0x00000100) != 0)) { result.residualsThreshold_ = residualsThreshold_; } if (((from_bitField0_ & 0x00000200) != 0)) { result.duplicateDistance_ = duplicateDistanceBuilder_ == null ? duplicateDistance_ : duplicateDistanceBuilder_.build(); } if (((from_bitField0_ & 0x00000400) != 0)) { result.failuresLimit_ = failuresLimit_; } if (((from_bitField0_ & 0x00000800) != 0)) { result.passRate_ = passRate_; } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings) { return mergeFrom((uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings other) { if (other == uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings.getDefaultInstance()) return this; if (other.hasFitSettings()) { mergeFitSettings(other.getFitSettings()); } if (other.noiseMethod_ != 0) { setNoiseMethodValue(other.getNoiseMethodValue()); } if (other.hasDataFilterSettings()) { mergeDataFilterSettings(other.getDataFilterSettings()); } if (other.hasSearch()) { mergeSearch(other.getSearch()); } if (other.hasBorder()) { mergeBorder(other.getBorder()); } if (other.hasFitting()) { mergeFitting(other.getFitting()); } if (other.getIncludeNeighbours() != false) { setIncludeNeighbours(other.getIncludeNeighbours()); } if (other.getNeighbourHeightThreshold() != 0D) { setNeighbourHeightThreshold(other.getNeighbourHeightThreshold()); } if (other.getResidualsThreshold() != 0D) { setResidualsThreshold(other.getResidualsThreshold()); } if (other.hasDuplicateDistance()) { mergeDuplicateDistance(other.getDuplicateDistance()); } if (other.getFailuresLimit() != 0) { setFailuresLimit(other.getFailuresLimit()); } if (other.getPassRate() != 0D) { setPassRate(other.getPassRate()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { input.readMessage( getFitSettingsFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000001; break; } // case 10 case 16: { noiseMethod_ = input.readEnum(); bitField0_ |= 0x00000002; break; } // case 16 case 26: { input.readMessage( getDataFilterSettingsFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000004; break; } // case 26 case 34: { input.readMessage( getSearchFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000008; break; } // case 34 case 42: { input.readMessage( getBorderFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000010; break; } // case 42 case 50: { input.readMessage( getFittingFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000020; break; } // case 50 case 56: { includeNeighbours_ = input.readBool(); bitField0_ |= 0x00000040; break; } // case 56 case 65: { neighbourHeightThreshold_ = input.readDouble(); bitField0_ |= 0x00000080; break; } // case 65 case 73: { residualsThreshold_ = input.readDouble(); bitField0_ |= 0x00000100; break; } // case 73 case 82: { input.readMessage( getDuplicateDistanceFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000200; break; } // case 82 case 88: { failuresLimit_ = input.readInt32(); bitField0_ |= 0x00000400; break; } // case 88 case 97: { passRate_ = input.readDouble(); bitField0_ |= 0x00000800; break; } // case 97 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings fitSettings_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettingsOrBuilder> fitSettingsBuilder_; /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; * @return Whether the fitSettings field is set. */ public boolean hasFitSettings() { return ((bitField0_ & 0x00000001) != 0); } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; * @return The fitSettings. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings getFitSettings() { if (fitSettingsBuilder_ == null) { return fitSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.getDefaultInstance() : fitSettings_; } else { return fitSettingsBuilder_.getMessage(); } } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ public Builder setFitSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings value) { if (fitSettingsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } fitSettings_ = value; } else { fitSettingsBuilder_.setMessage(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ public Builder setFitSettings( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.Builder builderForValue) { if (fitSettingsBuilder_ == null) { fitSettings_ = builderForValue.build(); } else { fitSettingsBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ public Builder mergeFitSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings value) { if (fitSettingsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && fitSettings_ != null && fitSettings_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.getDefaultInstance()) { getFitSettingsBuilder().mergeFrom(value); } else { fitSettings_ = value; } } else { fitSettingsBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ public Builder clearFitSettings() { bitField0_ = (bitField0_ & ~0x00000001); fitSettings_ = null; if (fitSettingsBuilder_ != null) { fitSettingsBuilder_.dispose(); fitSettingsBuilder_ = null; } onChanged(); return this; } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.Builder getFitSettingsBuilder() { bitField0_ |= 0x00000001; onChanged(); return getFitSettingsFieldBuilder().getBuilder(); } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettingsOrBuilder getFitSettingsOrBuilder() { if (fitSettingsBuilder_ != null) { return fitSettingsBuilder_.getMessageOrBuilder(); } else { return fitSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.getDefaultInstance() : fitSettings_; } } /** *
       * The fit settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.FitSettings fit_settings = 1; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettingsOrBuilder> getFitSettingsFieldBuilder() { if (fitSettingsBuilder_ == null) { fitSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitSettingsOrBuilder>( getFitSettings(), getParentForChildren(), isClean()); fitSettings_ = null; } return fitSettingsBuilder_; } private int noiseMethod_ = 0; /** *
       * the method for estimating noise in the entire frame
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @return The enum numeric value on the wire for noiseMethod. */ @java.lang.Override public int getNoiseMethodValue() { return noiseMethod_; } /** *
       * the method for estimating noise in the entire frame
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @param value The enum numeric value on the wire for noiseMethod to set. * @return This builder for chaining. */ public Builder setNoiseMethodValue(int value) { noiseMethod_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
       * the method for estimating noise in the entire frame
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @return The noiseMethod. */ @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod getNoiseMethod() { uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod result = uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod.forNumber(noiseMethod_); return result == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod.UNRECOGNIZED : result; } /** *
       * the method for estimating noise in the entire frame
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @param value The noiseMethod to set. * @return This builder for chaining. */ public Builder setNoiseMethod(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.NoiseEstimatorMethod value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000002; noiseMethod_ = value.getNumber(); onChanged(); return this; } /** *
       * the method for estimating noise in the entire frame
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.NoiseEstimatorMethod noise_method = 2; * @return This builder for chaining. */ public Builder clearNoiseMethod() { bitField0_ = (bitField0_ & ~0x00000002); noiseMethod_ = 0; onChanged(); return this; } private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings dataFilterSettings_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettingsOrBuilder> dataFilterSettingsBuilder_; /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; * @return Whether the dataFilterSettings field is set. */ public boolean hasDataFilterSettings() { return ((bitField0_ & 0x00000004) != 0); } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; * @return The dataFilterSettings. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings getDataFilterSettings() { if (dataFilterSettingsBuilder_ == null) { return dataFilterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.getDefaultInstance() : dataFilterSettings_; } else { return dataFilterSettingsBuilder_.getMessage(); } } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ public Builder setDataFilterSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings value) { if (dataFilterSettingsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } dataFilterSettings_ = value; } else { dataFilterSettingsBuilder_.setMessage(value); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ public Builder setDataFilterSettings( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.Builder builderForValue) { if (dataFilterSettingsBuilder_ == null) { dataFilterSettings_ = builderForValue.build(); } else { dataFilterSettingsBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ public Builder mergeDataFilterSettings(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings value) { if (dataFilterSettingsBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0) && dataFilterSettings_ != null && dataFilterSettings_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.getDefaultInstance()) { getDataFilterSettingsBuilder().mergeFrom(value); } else { dataFilterSettings_ = value; } } else { dataFilterSettingsBuilder_.mergeFrom(value); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ public Builder clearDataFilterSettings() { bitField0_ = (bitField0_ & ~0x00000004); dataFilterSettings_ = null; if (dataFilterSettingsBuilder_ != null) { dataFilterSettingsBuilder_.dispose(); dataFilterSettingsBuilder_ = null; } onChanged(); return this; } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.Builder getDataFilterSettingsBuilder() { bitField0_ |= 0x00000004; onChanged(); return getDataFilterSettingsFieldBuilder().getBuilder(); } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettingsOrBuilder getDataFilterSettingsOrBuilder() { if (dataFilterSettingsBuilder_ != null) { return dataFilterSettingsBuilder_.getMessageOrBuilder(); } else { return dataFilterSettings_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.getDefaultInstance() : dataFilterSettings_; } } /** *
       * The data filter settings
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.DataFilterSettings data_filter_settings = 3; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettingsOrBuilder> getDataFilterSettingsFieldBuilder() { if (dataFilterSettingsBuilder_ == null) { dataFilterSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettings.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.DataFilterSettingsOrBuilder>( getDataFilterSettings(), getParentForChildren(), isClean()); dataFilterSettings_ = null; } return dataFilterSettingsBuilder_; } private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter search_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> searchBuilder_; /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; * @return Whether the search field is set. */ public boolean hasSearch() { return ((bitField0_ & 0x00000008) != 0); } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; * @return The search. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getSearch() { if (searchBuilder_ == null) { return search_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : search_; } else { return searchBuilder_.getMessage(); } } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ public Builder setSearch(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (searchBuilder_ == null) { if (value == null) { throw new NullPointerException(); } search_ = value; } else { searchBuilder_.setMessage(value); } bitField0_ |= 0x00000008; onChanged(); return this; } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ public Builder setSearch( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder builderForValue) { if (searchBuilder_ == null) { search_ = builderForValue.build(); } else { searchBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000008; onChanged(); return this; } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ public Builder mergeSearch(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (searchBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0) && search_ != null && search_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance()) { getSearchBuilder().mergeFrom(value); } else { search_ = value; } } else { searchBuilder_.mergeFrom(value); } bitField0_ |= 0x00000008; onChanged(); return this; } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ public Builder clearSearch() { bitField0_ = (bitField0_ & ~0x00000008); search_ = null; if (searchBuilder_ != null) { searchBuilder_.dispose(); searchBuilder_ = null; } onChanged(); return this; } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder getSearchBuilder() { bitField0_ |= 0x00000008; onChanged(); return getSearchFieldBuilder().getBuilder(); } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getSearchOrBuilder() { if (searchBuilder_ != null) { return searchBuilder_.getMessageOrBuilder(); } else { return search_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : search_; } } /** *
       * The square radius to use to identify local maxima (candidates)
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter search = 4; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> getSearchFieldBuilder() { if (searchBuilder_ == null) { searchBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder>( getSearch(), getParentForChildren(), isClean()); search_ = null; } return searchBuilder_; } private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter border_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> borderBuilder_; /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; * @return Whether the border field is set. */ public boolean hasBorder() { return ((bitField0_ & 0x00000010) != 0); } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; * @return The border. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getBorder() { if (borderBuilder_ == null) { return border_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : border_; } else { return borderBuilder_.getMessage(); } } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ public Builder setBorder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (borderBuilder_ == null) { if (value == null) { throw new NullPointerException(); } border_ = value; } else { borderBuilder_.setMessage(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ public Builder setBorder( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder builderForValue) { if (borderBuilder_ == null) { border_ = builderForValue.build(); } else { borderBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ public Builder mergeBorder(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (borderBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0) && border_ != null && border_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance()) { getBorderBuilder().mergeFrom(value); } else { border_ = value; } } else { borderBuilder_.mergeFrom(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ public Builder clearBorder() { bitField0_ = (bitField0_ & ~0x00000010); border_ = null; if (borderBuilder_ != null) { borderBuilder_.dispose(); borderBuilder_ = null; } onChanged(); return this; } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder getBorderBuilder() { bitField0_ |= 0x00000010; onChanged(); return getBorderFieldBuilder().getBuilder(); } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getBorderOrBuilder() { if (borderBuilder_ != null) { return borderBuilder_.getMessageOrBuilder(); } else { return border_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : border_; } } /** *
       * The border to ignore at the edge of the image
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter border = 5; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> getBorderFieldBuilder() { if (borderBuilder_ == null) { borderBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder>( getBorder(), getParentForChildren(), isClean()); border_ = null; } return borderBuilder_; } private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter fitting_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> fittingBuilder_; /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; * @return Whether the fitting field is set. */ public boolean hasFitting() { return ((bitField0_ & 0x00000020) != 0); } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; * @return The fitting. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getFitting() { if (fittingBuilder_ == null) { return fitting_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : fitting_; } else { return fittingBuilder_.getMessage(); } } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ public Builder setFitting(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (fittingBuilder_ == null) { if (value == null) { throw new NullPointerException(); } fitting_ = value; } else { fittingBuilder_.setMessage(value); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ public Builder setFitting( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder builderForValue) { if (fittingBuilder_ == null) { fitting_ = builderForValue.build(); } else { fittingBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ public Builder mergeFitting(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (fittingBuilder_ == null) { if (((bitField0_ & 0x00000020) != 0) && fitting_ != null && fitting_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance()) { getFittingBuilder().mergeFrom(value); } else { fitting_ = value; } } else { fittingBuilder_.mergeFrom(value); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ public Builder clearFitting() { bitField0_ = (bitField0_ & ~0x00000020); fitting_ = null; if (fittingBuilder_ != null) { fittingBuilder_.dispose(); fittingBuilder_ = null; } onChanged(); return this; } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder getFittingBuilder() { bitField0_ |= 0x00000020; onChanged(); return getFittingFieldBuilder().getBuilder(); } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getFittingOrBuilder() { if (fittingBuilder_ != null) { return fittingBuilder_.getMessageOrBuilder(); } else { return fitting_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : fitting_; } } /** *
       * The square radius to use for fitting around each candidate
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter fitting = 6; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> getFittingFieldBuilder() { if (fittingBuilder_ == null) { fittingBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder>( getFitting(), getParentForChildren(), isClean()); fitting_ = null; } return fittingBuilder_; } private boolean includeNeighbours_ ; /** *
       * Set to true to include neighbours during fitting
       * 
* * bool include_neighbours = 7; * @return The includeNeighbours. */ @java.lang.Override public boolean getIncludeNeighbours() { return includeNeighbours_; } /** *
       * Set to true to include neighbours during fitting
       * 
* * bool include_neighbours = 7; * @param value The includeNeighbours to set. * @return This builder for chaining. */ public Builder setIncludeNeighbours(boolean value) { includeNeighbours_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
       * Set to true to include neighbours during fitting
       * 
* * bool include_neighbours = 7; * @return This builder for chaining. */ public Builder clearIncludeNeighbours() { bitField0_ = (bitField0_ & ~0x00000040); includeNeighbours_ = false; onChanged(); return this; } private double neighbourHeightThreshold_ ; /** *
       * The height threshold for including neighbours expressed relative to the current candidate
       * 
* * double neighbour_height_threshold = 8; * @return The neighbourHeightThreshold. */ @java.lang.Override public double getNeighbourHeightThreshold() { return neighbourHeightThreshold_; } /** *
       * The height threshold for including neighbours expressed relative to the current candidate
       * 
* * double neighbour_height_threshold = 8; * @param value The neighbourHeightThreshold to set. * @return This builder for chaining. */ public Builder setNeighbourHeightThreshold(double value) { neighbourHeightThreshold_ = value; bitField0_ |= 0x00000080; onChanged(); return this; } /** *
       * The height threshold for including neighbours expressed relative to the current candidate
       * 
* * double neighbour_height_threshold = 8; * @return This builder for chaining. */ public Builder clearNeighbourHeightThreshold() { bitField0_ = (bitField0_ & ~0x00000080); neighbourHeightThreshold_ = 0D; onChanged(); return this; } private double residualsThreshold_ ; /** *
       * The residuals threshold for refitting a single peak as a doublet following analysis of the symmetry of the fit residuals.
       * 
* * double residuals_threshold = 9; * @return The residualsThreshold. */ @java.lang.Override public double getResidualsThreshold() { return residualsThreshold_; } /** *
       * The residuals threshold for refitting a single peak as a doublet following analysis of the symmetry of the fit residuals.
       * 
* * double residuals_threshold = 9; * @param value The residualsThreshold to set. * @return This builder for chaining. */ public Builder setResidualsThreshold(double value) { residualsThreshold_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** *
       * The residuals threshold for refitting a single peak as a doublet following analysis of the symmetry of the fit residuals.
       * 
* * double residuals_threshold = 9; * @return This builder for chaining. */ public Builder clearResidualsThreshold() { bitField0_ = (bitField0_ & ~0x00000100); residualsThreshold_ = 0D; onChanged(); return this; } private uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter duplicateDistance_; private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> duplicateDistanceBuilder_; /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; * @return Whether the duplicateDistance field is set. */ public boolean hasDuplicateDistance() { return ((bitField0_ & 0x00000200) != 0); } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; * @return The duplicateDistance. */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter getDuplicateDistance() { if (duplicateDistanceBuilder_ == null) { return duplicateDistance_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : duplicateDistance_; } else { return duplicateDistanceBuilder_.getMessage(); } } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ public Builder setDuplicateDistance(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (duplicateDistanceBuilder_ == null) { if (value == null) { throw new NullPointerException(); } duplicateDistance_ = value; } else { duplicateDistanceBuilder_.setMessage(value); } bitField0_ |= 0x00000200; onChanged(); return this; } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ public Builder setDuplicateDistance( uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder builderForValue) { if (duplicateDistanceBuilder_ == null) { duplicateDistance_ = builderForValue.build(); } else { duplicateDistanceBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000200; onChanged(); return this; } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ public Builder mergeDuplicateDistance(uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter value) { if (duplicateDistanceBuilder_ == null) { if (((bitField0_ & 0x00000200) != 0) && duplicateDistance_ != null && duplicateDistance_ != uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance()) { getDuplicateDistanceBuilder().mergeFrom(value); } else { duplicateDistance_ = value; } } else { duplicateDistanceBuilder_.mergeFrom(value); } bitField0_ |= 0x00000200; onChanged(); return this; } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ public Builder clearDuplicateDistance() { bitField0_ = (bitField0_ & ~0x00000200); duplicateDistance_ = null; if (duplicateDistanceBuilder_ != null) { duplicateDistanceBuilder_.dispose(); duplicateDistanceBuilder_ = null; } onChanged(); return this; } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder getDuplicateDistanceBuilder() { bitField0_ |= 0x00000200; onChanged(); return getDuplicateDistanceFieldBuilder().getBuilder(); } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder getDuplicateDistanceOrBuilder() { if (duplicateDistanceBuilder_ != null) { return duplicateDistanceBuilder_.getMessageOrBuilder(); } else { return duplicateDistance_ == null ? uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.getDefaultInstance() : duplicateDistance_; } } /** *
       * The distance to categorise localisations as duplicates and ignore them.
       * 
* * .uk.ac.sussex.gdsc.smlm.data.config.RelativeParameter duplicate_distance = 10; */ private com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder> getDuplicateDistanceFieldBuilder() { if (duplicateDistanceBuilder_ == null) { duplicateDistanceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameter.Builder, uk.ac.sussex.gdsc.smlm.data.config.FitProtos.RelativeParameterOrBuilder>( getDuplicateDistance(), getParentForChildren(), isClean()); duplicateDistance_ = null; } return duplicateDistanceBuilder_; } private int failuresLimit_ ; /** *
       * The number of consecutive failures to allow before stopping fitting of the remaining candidates.
       * Set to negative to disable.
       * 
* * int32 failures_limit = 11; * @return The failuresLimit. */ @java.lang.Override public int getFailuresLimit() { return failuresLimit_; } /** *
       * The number of consecutive failures to allow before stopping fitting of the remaining candidates.
       * Set to negative to disable.
       * 
* * int32 failures_limit = 11; * @param value The failuresLimit to set. * @return This builder for chaining. */ public Builder setFailuresLimit(int value) { failuresLimit_ = value; bitField0_ |= 0x00000400; onChanged(); return this; } /** *
       * The number of consecutive failures to allow before stopping fitting of the remaining candidates.
       * Set to negative to disable.
       * 
* * int32 failures_limit = 11; * @return This builder for chaining. */ public Builder clearFailuresLimit() { bitField0_ = (bitField0_ & ~0x00000400); failuresLimit_ = 0; onChanged(); return this; } private double passRate_ ; /** *
       * The pass rate (range 0-1) to continue fitting. If the fraction of accepted fits falls below
       * this threshold then stop fitting of the remaining candidates. Set to zero to disable.
       * 
* * double pass_rate = 12; * @return The passRate. */ @java.lang.Override public double getPassRate() { return passRate_; } /** *
       * The pass rate (range 0-1) to continue fitting. If the fraction of accepted fits falls below
       * this threshold then stop fitting of the remaining candidates. Set to zero to disable.
       * 
* * double pass_rate = 12; * @param value The passRate to set. * @return This builder for chaining. */ public Builder setPassRate(double value) { passRate_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } /** *
       * The pass rate (range 0-1) to continue fitting. If the fraction of accepted fits falls below
       * this threshold then stop fitting of the remaining candidates. Set to zero to disable.
       * 
* * double pass_rate = 12; * @return This builder for chaining. */ public Builder clearPassRate() { bitField0_ = (bitField0_ & ~0x00000800); passRate_ = 0D; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:uk.ac.sussex.gdsc.smlm.data.config.FitEngineSettings) } // @@protoc_insertion_point(class_scope:uk.ac.sussex.gdsc.smlm.data.config.FitEngineSettings) private static final uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings(); } public static uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public FitEngineSettings parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public uk.ac.sussex.gdsc.smlm.data.config.FitProtos.FitEngineSettings getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private static final com.google.protobuf.Descriptors.Descriptor internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; } private static com.google.protobuf.Descriptors.FileDescriptor descriptor; static { java.lang.String[] descriptorData = { "\n,uk/ac/sussex/gdsc/smlm/data/config/fit" + ".proto\022\"uk.ac.sussex.gdsc.smlm.data.conf" + "ig\"\264\005\n\021FitSolverSettings\022\021\n\tfixed_psf\030\001 " + "\001(\010\022\"\n\032disable_background_fitting\030\002 \001(\010\022" + "\036\n\026disable_signal_fitting\030\003 \001(\010\022A\n\nfit_s" + "olver\030\004 \001(\0162-.uk.ac.sussex.gdsc.smlm.dat" + "a.config.FitSolver\022\030\n\020fixed_iterations\030\005" + " \001(\010\022\026\n\016max_iterations\030\006 \001(\005\022\032\n\022relative" + "_threshold\030\007 \001(\001\022\032\n\022absolute_threshold\030\010" + " \001(\001\022$\n\034parameter_relative_threshold\030\t \001" + "(\001\022$\n\034parameter_absolute_threshold\030\n \001(\001" + "\022\016\n\006lambda\030\013 \001(\001\022G\n\rsearch_method\030\014 \001(\0162" + "0.uk.ac.sussex.gdsc.smlm.data.config.Sea" + "rchMethod\022\"\n\032gradient_line_minimisation\030" + "\r \001(\010\022\024\n\014model_camera\030\016 \001(\010\022 \n\030max_funct" + "ion_evaluations\030\017 \001(\005\022\024\n\014use_clamping\030\020 " + "\001(\010\022\034\n\024use_dynamic_clamping\030\021 \001(\010\022\024\n\014cla" + "mp_values\030\022 \003(\001\022P\n\022line_search_method\030\023 " + "\001(\01624.uk.ac.sussex.gdsc.smlm.data.config" + ".LineSearchMethod\"\206\003\n\016FilterSettings\022\024\n\014" + "shift_factor\030\001 \001(\001\022\027\n\017signal_strength\030\002 " + "\001(\001\022\023\n\013min_photons\030\003 \001(\001\022\033\n\023precision_th" + "reshold\030\004 \001(\001\022\030\n\020min_width_factor\030\006 \001(\001\022" + "\030\n\020max_width_factor\030\007 \001(\001\022\035\n\025disable_sim" + "ple_filter\030\010 \001(\010\022\024\n\014smart_filter\030\t \001(\010\022\033" + "\n\023smart_filter_string\030\n \001(\t\022M\n\020precision" + "_method\030\013 \001(\01623.uk.ac.sussex.gdsc.smlm.d" + "ata.config.PrecisionMethod\022\r\n\005min_z\030\014 \001(" + "\001\022\r\n\005max_z\030\r \001(\001J\004\010\005\020\006R\032precision_using_" + "background\"\256\001\n\013FitSettings\022R\n\023fit_solver" + "_settings\030\001 \001(\01325.uk.ac.sussex.gdsc.smlm" + ".data.config.FitSolverSettings\022K\n\017filter" + "_settings\030\002 \001(\01322.uk.ac.sussex.gdsc.smlm" + ".data.config.FilterSettings\"4\n\021RelativeP" + "arameter\022\r\n\005value\030\001 \001(\001\022\020\n\010absolute\030\002 \001(" + "\010\"\251\001\n\nDataFilter\022P\n\022data_filter_method\030\001" + " \001(\01624.uk.ac.sussex.gdsc.smlm.data.confi" + "g.DataFilterMethod\022I\n\nparameters\030\002 \003(\01325" + ".uk.ac.sussex.gdsc.smlm.data.config.Rela" + "tiveParameter\"\250\001\n\022DataFilterSettings\022L\n\020" + "data_filter_type\030\001 \001(\01622.uk.ac.sussex.gd" + "sc.smlm.data.config.DataFilterType\022D\n\014da" + "ta_filters\030\002 \003(\0132..uk.ac.sussex.gdsc.sml" + "m.data.config.DataFilter\"\261\005\n\021FitEngineSe" + "ttings\022E\n\014fit_settings\030\001 \001(\0132/.uk.ac.sus" + "sex.gdsc.smlm.data.config.FitSettings\022N\n" + "\014noise_method\030\002 \001(\01628.uk.ac.sussex.gdsc." + "smlm.data.config.NoiseEstimatorMethod\022T\n" + "\024data_filter_settings\030\003 \001(\01326.uk.ac.suss" + "ex.gdsc.smlm.data.config.DataFilterSetti" + "ngs\022E\n\006search\030\004 \001(\01325.uk.ac.sussex.gdsc." + "smlm.data.config.RelativeParameter\022E\n\006bo" + "rder\030\005 \001(\01325.uk.ac.sussex.gdsc.smlm.data" + ".config.RelativeParameter\022F\n\007fitting\030\006 \001" + "(\01325.uk.ac.sussex.gdsc.smlm.data.config." + "RelativeParameter\022\032\n\022include_neighbours\030" + "\007 \001(\010\022\"\n\032neighbour_height_threshold\030\010 \001(" + "\001\022\033\n\023residuals_threshold\030\t \001(\001\022Q\n\022duplic" + "ate_distance\030\n \001(\01325.uk.ac.sussex.gdsc.s" + "mlm.data.config.RelativeParameter\022\026\n\016fai" + "lures_limit\030\013 \001(\005\022\021\n\tpass_rate\030\014 \001(\001*i\n\t" + "FitSolver\022\013\n\007LVM_LSE\020\000\022\013\n\007LVM_MLE\020\001\022\014\n\010L" + "VM_WLSE\020\002\022\007\n\003MLE\020\003\022\014\n\010FAST_MLE\020\004\022\035\n\025BACK" + "TRACKING_FAST_MLE\020\005\032\002\010\001*\235\001\n\014SearchMethod" + "\022\022\n\016POWELL_BOUNDED\020\000\022\n\n\006POWELL\020\001\022\022\n\016POWE" + "LL_ADAPTER\020\002\022\n\n\006BOBYQA\020\003\022\t\n\005CMAES\020\004\022\031\n\025C" + "ONJUGATE_GRADIENT_FR\020\005\022\031\n\025CONJUGATE_GRAD" + "IENT_PR\020\006\022\014\n\004BFGS\020\007\032\002\010\001*<\n\020LineSearchMet" + "hod\022\010\n\004NONE\020\000\022\n\n\006IGNORE\020\001\022\022\n\016PARTIAL_IGN" + "ORE\020\002*k\n\017PrecisionMethod\022\027\n\023PRECISION_ME" + "THOD_NA\020\000\022\r\n\tMORTENSEN\020\001\022\036\n\032MORTENSEN_LO" + "CAL_BACKGROUND\020\002\022\020\n\014POISSON_CRLB\020\003*6\n\016Da" + "taFilterType\022\n\n\006SINGLE\020\000\022\016\n\nDIFFERENCE\020\001" + "\022\010\n\004JURY\020\002*Y\n\020DataFilterMethod\022\010\n\004MEAN\020\000" + "\022\016\n\nBLOCK_MEAN\020\001\022\021\n\rCIRCULAR_MEAN\020\002\022\014\n\010G" + "AUSSIAN\020\003\022\n\n\006MEDIAN\020\004*\263\002\n\024NoiseEstimator" + "Method\022\016\n\nALL_PIXELS\020\000\022\021\n\rLOWEST_PIXELS\020" + "\001\022%\n!RESIDUALS_LEAST_MEDIAN_OF_SQUARES\020\002" + "\022&\n\"RESIDUALS_LEAST_TRIMMED_OF_SQUARES\020\003" + "\022#\n\037RESIDUALS_LEAST_MEAN_OF_SQUARES\020\004\022+\n" + "\'QUICK_RESIDUALS_LEAST_MEDIAN_OF_SQUARES" + "\020\005\022,\n(QUICK_RESIDUALS_LEAST_TRIMMED_OF_S" + "QUARES\020\006\022)\n%QUICK_RESIDUALS_LEAST_MEAN_O" + "F_SQUARES\020\007B\013B\tFitProtosb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { }); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSolverSettings_descriptor, new java.lang.String[] { "FixedPsf", "DisableBackgroundFitting", "DisableSignalFitting", "FitSolver", "FixedIterations", "MaxIterations", "RelativeThreshold", "AbsoluteThreshold", "ParameterRelativeThreshold", "ParameterAbsoluteThreshold", "Lambda", "SearchMethod", "GradientLineMinimisation", "ModelCamera", "MaxFunctionEvaluations", "UseClamping", "UseDynamicClamping", "ClampValues", "LineSearchMethod", }); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_uk_ac_sussex_gdsc_smlm_data_config_FilterSettings_descriptor, new java.lang.String[] { "ShiftFactor", "SignalStrength", "MinPhotons", "PrecisionThreshold", "MinWidthFactor", "MaxWidthFactor", "DisableSimpleFilter", "SmartFilter", "SmartFilterString", "PrecisionMethod", "MinZ", "MaxZ", }); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitSettings_descriptor, new java.lang.String[] { "FitSolverSettings", "FilterSettings", }); internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_uk_ac_sussex_gdsc_smlm_data_config_RelativeParameter_descriptor, new java.lang.String[] { "Value", "Absolute", }); internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilter_descriptor, new java.lang.String[] { "DataFilterMethod", "Parameters", }); internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_descriptor = getDescriptor().getMessageTypes().get(5); internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_uk_ac_sussex_gdsc_smlm_data_config_DataFilterSettings_descriptor, new java.lang.String[] { "DataFilterType", "DataFilters", }); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_uk_ac_sussex_gdsc_smlm_data_config_FitEngineSettings_descriptor, new java.lang.String[] { "FitSettings", "NoiseMethod", "DataFilterSettings", "Search", "Border", "Fitting", "IncludeNeighbours", "NeighbourHeightThreshold", "ResidualsThreshold", "DuplicateDistance", "FailuresLimit", "PassRate", }); } // @@protoc_insertion_point(outer_class_scope) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy