Package ca.eandb.jmist.framework.function

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


    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,
          SAC_CAROTENOIDS))
      .addChild(new ConstantFunction1(absProtein + absCellulose + absLignin))
      .addChild(SAC_WATER);

View Full Code Here

        new TrowbridgeReitzSurfaceScatterer(foldsAspectRatio, IOR_STRATUM_CORNEUM, 1.0))
      .addLayerToBottom( // stratum corneum
        new SequentialSurfaceScatterer()
          .addScatterer(new TabularPerturbingSurfaceScatterer(stratum_corneum_wavelengths, exitant_angles, stratum_corneum_perturb, 1000))
          .addScatterer(new AbsorbingSurfaceScatterer(
            new ScaledFunction1(
              concentrationBetaCaroteneInStratumCorneum / 537.0,
              OMLC_PRAHL_BETACAROTENE),
            thicknessStratumCorneum)))
      .addLayerToBottom( // stratum corneum / epidermis interface
        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,
                OMLC_PRAHL_DEOXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationBetaCaroteneInBlood / 537.0,
                OMLC_PRAHL_BETACAROTENE))
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationBilirubinInBlood / 585.0,
                OMLC_PRAHL_BILIRUBIN)),
            thicknessReticularDermis)))
      .addLayerToBottom( // reticular dermis / hypodermis interface
        new LambertianSurfaceScatterer());
View Full Code Here

        new TrowbridgeReitzMaterial(foldsAspectRatio, IOR_STRATUM_CORNEUM, 1.0))
      .addLayerToBottom( // stratum corneum
        new SequentialMaterial()
          .addScatterer(new TabularPerturbingMaterial(exitant_angles, stratum_corneum_546, 1000))
          .addScatterer(new AbsorbingMaterial(
            cm.getContinuous(new ScaledFunction1(
              concentrationBetaCaroteneInStratumCorneum / 537.0,
              OMLC_PRAHL_BETACAROTENE)),
            thicknessStratumCorneum)))
      .addLayerToBottom( // stratum corneum / epidermis interface
        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,
                OMLC_PRAHL_DEOXYHEMOGLOBIN))
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationBetaCaroteneInBlood / 537.0,
                OMLC_PRAHL_BETACAROTENE))
              .addChild(new ScaledFunction1(
                pctWholeBloodInReticularDermis * concentrationBilirubinInBlood / 585.0,
                OMLC_PRAHL_BILIRUBIN))),
            thicknessReticularDermis)))
      .addLayerToBottom( // reticular dermis / hypodermis interface
        new LambertianMaterial(cm.getWhite()));
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,
          SAC_CAROTENOIDS))
      .addChild(new ConstantFunction1(absProtein + absCellulose + absLignin))
      .addChild(SAC_WATER);

View Full Code Here

TOP

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

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.