Package ca.eandb.jmist.framework.function

Examples of ca.eandb.jmist.framework.function.SumFunction1


   *     spectra by.
   * @return The <code>Function1</code> at the specified coordinates.
   */
  public Function1 create(double... coefficients) {

    SumFunction1  sum    = new SumFunction1();
    int        n    = Math.min(coefficients.length, this.basis.size());

    for (int i = 0; i < n; i++) {
      sum.addChild(new ScaledFunction1(coefficients[i], this.basis.get(i)));
    }

    return sum;

  }
View Full Code Here


    double absProtein = concProtein * SAC_PROTEIN;
    double absCellulose = concCellulose * SAC_CELLULOSE_LIGNIN;
    double absLignin = concLignin * SAC_CELLULOSE_LIGNIN;

    Function1 mesophyllAbsorptionCoefficient = new SumFunction1()
      .addChild(new ScaledFunction1(
          concChlorophyllAInMesophyll + concChlorophyllBInMesophyll,
          SAC_CHLOROPHYLL_AB))
      .addChild(new ScaledFunction1(
          concCarotenoidsInMesophyll,
View Full Code Here

        new FresnelSurfaceScatterer(IOR_EPIDERMIS, IOR_STRATUM_CORNEUM))
      .addLayerToBottom( // epidermis
        new SequentialSurfaceScatterer()
          .addScatterer(new TabularPerturbingSurfaceScatterer(epidermis_wavelengths, exitant_angles, epidermis_perturb, 1000))
          .addScatterer(new AbsorbingSurfaceScatterer(
            new SumFunction1()
              .addChild(new ScaledFunction1(
                pctMelanosomesInEpidermis * concentrationEumelanin,
                OMLC_EUMELANIN_EXT_MGML))
              .addChild(new ScaledFunction1(
                pctMelanosomesInEpidermis * concentrationPheomelanin,
                OMLC_PHEOMELANIN_EXT_MGML))
              .addChild(new ScaledFunction1(
                (1.0 - pctMelanosomesInEpidermis) * concentrationBetaCaroteneInEpidermis / 537.0,
                OMLC_PRAHL_BETACAROTENE)),
            thicknessEpidermis)))
      .addLayerToBottom( // epidermis / papillary dermis interface
        new FresnelSurfaceScatterer(IOR_PAPILLARY_DERMIS, IOR_EPIDERMIS))
      .addLayerToBottom( // papillary dermis
        new SequentialSurfaceScatterer()
          .addScatterer(new DiffusingSurfaceScatterer())
          .addScatterer(new AbsorbingSurfaceScatterer(
            new SumFunction1()
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationHemoglobinInBlood * ratioOxyDeoxyHemoglobin / 66500.0,
                OMLC_PRAHL_OXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationHemoglobinInBlood * (1.0 - ratioOxyDeoxyHemoglobin) / 66500.0,
                OMLC_PRAHL_DEOXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationBetaCaroteneInBlood / 537.0,
                OMLC_PRAHL_BETACAROTENE))
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationBilirubinInBlood / 585.0,
                OMLC_PRAHL_BILIRUBIN)),
            thicknessPapillaryDermis)))
      .addLayerToBottom( // papillary dermis / reticular dermis interface
        new FresnelSurfaceScatterer(IOR_RETICULAR_DERMIS, IOR_PAPILLARY_DERMIS))
      .addLayerToBottom( // reticular dermis
        new SequentialSurfaceScatterer()
          .addScatterer(new DiffusingSurfaceScatterer())
          .addScatterer(new AbsorbingSurfaceScatterer(
            new SumFunction1()
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationHemoglobinInBlood * ratioOxyDeoxyHemoglobin / 66500.0,
                OMLC_PRAHL_OXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationHemoglobinInBlood * (1.0 - ratioOxyDeoxyHemoglobin) / 66500.0,
View Full Code Here

        new FresnelMaterial(IOR_EPIDERMIS, IOR_STRATUM_CORNEUM))
      .addLayerToBottom( // epidermis
        new SequentialMaterial()
          .addScatterer(new TabularPerturbingMaterial(exitant_angles, epidermis_546, 1000))
          .addScatterer(new AbsorbingMaterial(
            cm.getContinuous(new SumFunction1()
              .addChild(new ScaledFunction1(
                pctMelanosomesInEpidermis * concentrationEumelanin,
                OMLC_EUMELANIN_EXT_MGML))
              .addChild(new ScaledFunction1(
                pctMelanosomesInEpidermis * concentrationPheomelanin,
                OMLC_PHEOMELANIN_EXT_MGML))
              .addChild(new ScaledFunction1(
                (1.0 - pctMelanosomesInEpidermis) * concentrationBetaCaroteneInEpidermis / 537.0,
                OMLC_PRAHL_BETACAROTENE))),
            thicknessEpidermis)))
      .addLayerToBottom( // epidermis / papillary dermis interface
        new FresnelMaterial(IOR_PAPILLARY_DERMIS, IOR_EPIDERMIS))
      .addLayerToBottom( // papillary dermis
        new SequentialMaterial()
          .addScatterer(new DiffusingMaterial())
          .addScatterer(new AbsorbingMaterial(
            cm.getContinuous(new SumFunction1()
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationHemoglobinInBlood * ratioOxyDeoxyHemoglobin / 66500.0,
                OMLC_PRAHL_OXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationHemoglobinInBlood * (1.0 - ratioOxyDeoxyHemoglobin) / 66500.0,
                OMLC_PRAHL_DEOXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationBetaCaroteneInBlood / 537.0,
                OMLC_PRAHL_BETACAROTENE))
              .addChild(new ScaledFunction1(
                pctWholeBloodInPapillaryDermis * concentrationBilirubinInBlood / 585.0,
                OMLC_PRAHL_BILIRUBIN))),
            thicknessPapillaryDermis)))
      .addLayerToBottom( // papillary dermis / reticular dermis interface
        new FresnelMaterial(IOR_RETICULAR_DERMIS, IOR_PAPILLARY_DERMIS))
      .addLayerToBottom( // reticular dermis
        new SequentialMaterial()
          .addScatterer(new DiffusingMaterial())
          .addScatterer(new AbsorbingMaterial(
            cm.getContinuous(new SumFunction1()
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationHemoglobinInBlood * ratioOxyDeoxyHemoglobin / 66500.0,
                OMLC_PRAHL_OXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationHemoglobinInBlood * (1.0 - ratioOxyDeoxyHemoglobin) / 66500.0,
View Full Code Here

    double absProtein = concProtein * SAC_PROTEIN;
    double absCellulose = concCellulose * SAC_CELLULOSE_LIGNIN;
    double absLignin = concLignin * SAC_CELLULOSE_LIGNIN;

    Function1 mesophyllAbsorptionCoefficient = new SumFunction1()
      .addChild(new ScaledFunction1(
          concChlorophyllAInMesophyll + concChlorophyllBInMesophyll,
          SAC_CHLOROPHYLL_AB))
      .addChild(new ScaledFunction1(
          concCarotenoidsInMesophyll,
View Full Code Here

TOP

Related Classes of ca.eandb.jmist.framework.function.SumFunction1

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.