bool ossimImageChain::addLast(ossimConnectableObject* obj) { if(theImageChainList.size() > 0) { ossimConnectableObject* lastSource = theImageChainList[ theImageChainList.size() -1].get(); if(dynamic_cast<ossimImageSource*>(obj)&&lastSource) { obj->disconnect(); ossimConnectableObject::ConnectableObjectList tempIn = getInputList(); lastSource->disconnectAllInputs(); lastSource->connectMyInputTo(obj); obj->changeOwner(this); obj->connectInputList(tempIn); tempIn = obj->getInputList(); theInputListIsFixedFlag = obj->getInputListIsFixedFlag(); setNumberOfInputs(obj->getNumberOfInputs()); theImageChainList.push_back(obj); obj->addListener((ossimConnectableObjectListener*)this); return true; } } else { return add(obj); } return false;; }
ossimHistogramRemapper::ossimHistogramRemapper() : ossimTableRemapper(), // base class theStretchMode(ossimHistogramRemapper::LINEAR_ONE_PIECE), theDirtyFlag(false), theHistogram(0), theNormalizedLowClipPoint(), theNormalizedHighClipPoint(), theMidPoint(), theMinOutputValue(), theMaxOutputValue(), theBandList(), theBypassFlag(true) { setNumberOfInputs(2); if (traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) << "ossimHistogramRemapper::ossimHistogramRemapper entered...\n"; #ifdef OSSIM_ID_ENABLED ossimNotify(ossimNotifyLevel_DEBUG) << "OSSIM_ID: " << OSSIM_ID << "\n"; #endif } }
ossimImageSourceHistogramFilter::ossimImageSourceHistogramFilter() :ossimImageSourceFilter(), theCurrentResLevel(0), theHistogram(NULL), theFilename("") { setNumberOfInputs(2); theInputListIsFixedFlag = true; }
ossimImageSourceHistogramFilter::ossimImageSourceHistogramFilter(ossimImageSource* inputSource, ossimRefPtr<ossimMultiResLevelHistogram> histogram) : ossimImageSourceFilter(inputSource), theCurrentResLevel(0), theHistogram(histogram), theFilename("") { setNumberOfInputs(2); theInputListIsFixedFlag = true; }
neuron::neuron(const int& WeightVectorSize) //constructor 2 { setNumberOfInputs(WeightVectorSize); Weights.resize(WeightVectorSize); float OptimalInterval = 1/float(sqrt(NumberOfInputs)); //Optimal interval according to Xavier initialization std::generate(Weights.begin(), Weights.end(), //generates random weights using algorithms and lambda function [&]() { //return randomize(-1, 1); return randomize(-OptimalInterval,OptimalInterval); }); //Bias = randomize(-1, 1); Bias = 1; //not necessary to randomize }
bool rspfHistogramWriter::loadState(const rspfKeywordlist& kwl, const char* prefix) { bool result = rspfOutputSource::loadState(kwl, prefix); if(result) { if(!getNumberOfInputs()) { setNumberOfInputs(1); } } return result; }
bool ossimBumpShadeTileSource::loadState(const ossimKeywordlist& kwl, const char* prefix) { const char* elevationAngle = kwl.find(prefix, ossimKeywordNames::ELEVATION_ANGLE_KW); const char* azimuthAngle = kwl.find(prefix, ossimKeywordNames::AZIMUTH_ANGLE_KW); if(elevationAngle) { m_lightSourceElevationAngle = ossimString(elevationAngle).toDouble(); } if(azimuthAngle) { m_lightSourceAzimuthAngle = ossimString(azimuthAngle).toDouble(); } const char* lookup = kwl.find(prefix, COLOR_RED_KW); if (lookup) { m_r = ossimString(lookup).toUInt8(); } lookup = kwl.find(prefix, COLOR_GREEN_KW); if (lookup) { m_g = ossimString(lookup).toUInt8(); } lookup = kwl.find(prefix, COLOR_BLUE_KW); if (lookup) { m_b = ossimString(lookup).toUInt8(); } computeLightDirection(); bool result = ossimImageSource::loadState(kwl, prefix); theInputListIsFixedFlag = true; theOutputListIsFixedFlag = false; if(!getNumberOfInputs()) setNumberOfInputs(2); return result; }
bool ossimMaskFilter::loadState(const ossimKeywordlist& kwl, const char* prefix) { bool result = ossimImageCombiner::loadState(kwl, prefix); theInputListIsFixedFlag = true; theOutputListIsFixedFlag = false; setNumberOfInputs(2); const char* lookup = kwl.find(prefix, MASK_FILTER_MASK_TYPE_KW); if (lookup) { setMaskType(ossimString(lookup)); } return result; }
bool ossimImageSourceHistogramFilter::loadState(const ossimKeywordlist& kwl, const char* prefix) { const char* proprietaryName = kwl.find(prefix, PROPRIETARY_FILENAME_KW); const char* ossimName = kwl.find(prefix, HISTOGRAM_FILENAME_KW); bool result = true; ossimFilename file; if(proprietaryName) { theFilename = ossimFilename(proprietaryName); } else if(ossimName) { if(!theHistogram) { theHistogram = new ossimMultiResLevelHistogram; } theFilename = ossimFilename(ossimName); } if(theFilename.exists()&&(theFilename!="")) { if(!theHistogram) { theHistogram = new ossimMultiResLevelHistogram; } result = theHistogram->importHistogram(theFilename); } if(theHistogram.valid()) { theHistogram->setBinCount(0, 0); } result = ossimImageSourceFilter::loadState(kwl, prefix); setNumberOfInputs(2); theInputListIsFixedFlag = true; return result; }
bool ossimImageChain::addAllSources(map<ossimId, vector<ossimId> >& idMapping, const ossimKeywordlist& kwl, const char* prefix) { static const char* MODULE = "ossimImageChain::addAllSources"; ossimString copyPrefix = prefix; bool result = ossimImageSource::loadState(kwl, copyPrefix.c_str()); if(!result) { return result; } long index = 0; // ossimSource* source = NULL; vector<ossimId> inputConnectionIds; ossimString regExpression = ossimString("^(") + copyPrefix + "object[0-9]+.)"; vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); long numberOfSources = (long)keys.size();//kwl.getNumberOfSubstringKeys(regExpression); int offset = (int)(copyPrefix+"object").size(); int idx = 0; std::vector<int> theNumberList(numberOfSources); for(idx = 0; idx < (int)theNumberList.size();++idx) { ossimString numberStr(keys[idx].begin() + offset, keys[idx].end()); theNumberList[idx] = numberStr.toInt(); } std::sort(theNumberList.begin(), theNumberList.end()); for(idx=0;idx < (int)theNumberList.size();++idx) { ossimString newPrefix = copyPrefix; newPrefix += ossimString("object"); newPrefix += ossimString::toString(theNumberList[idx]); newPrefix += ossimString("."); if(traceDebug()) { CLOG << "trying to create source with prefix: " << newPrefix << std::endl; } ossimRefPtr<ossimObject> object = ossimObjectFactoryRegistry::instance()->createObject(kwl, newPrefix.c_str()); ossimConnectableObject* source = PTR_CAST(ossimConnectableObject, object.get()); if(source) { // we did find a source so include it in the count if(traceDebug()) { CLOG << "Created source with prefix: " << newPrefix << std::endl; } if(PTR_CAST(ossimImageSource, source)) { ossimId id = source->getId(); inputConnectionIds.clear(); findInputConnectionIds(inputConnectionIds, kwl, newPrefix); if(inputConnectionIds.size() == 0) { // we will try to do a default connection // if(theImageChainList.size()) { if(traceDebug()) { CLOG << "connecting " << source->getClassName() << " to " << theImageChainList[0]->getClassName() << std::endl; } source->connectMyInputTo(0, theImageChainList[0].get()); } } else { // we remember the connection id's so we can connect this later. // this way we make sure all sources were actually // allocated. // idMapping.insert(std::make_pair(id, inputConnectionIds)); } add(source); } else { source = 0; } } else { object = 0; source = 0; } ++index; } if(theImageChainList.size()) { ossimConnectableObject* obj = theImageChainList[(ossim_int32)theImageChainList.size()-1].get(); if(obj) { setNumberOfInputs(obj->getNumberOfInputs()); } } return result; }
neuron::neuron(const vector<float>& WeightVector, const float& BiasNumber) //constructor 1 { setWeights(WeightVector); //gives provided parameters to the class setNumberOfInputs(Weights.size()); setBias(BiasNumber); }