Example #1
0
void FITS_IO::writeType(const std::string& filename, std::shared_ptr<const IImage> img, int imgType, int bitPixType, int dim) {

	if (Common::File::exists(filename)) {
		Common::File::remove(filename);
	}
	
	int status = 0;
	
	fitsfile *fitsFilePtr;
	ffinit(&fitsFilePtr, filename.c_str(), &status);
	if (status) throw Common::Exception() << "ffinit failed with " << status;

	long sizes[3] = {img->getSize()(0), img->getSize()(1), dim};
	
	status = ffphps(fitsFilePtr, bitPixType, 3, sizes, &status);
	if (status) throw Common::Exception() << "ffphps failed with " << status;
	
	long int firstpix[3];
	for (int i = 0; i < 3; i++) {
		firstpix[i] = 1;
	}
	
	int numPixels = img->getSize()(0) * img->getSize()(1) * dim;
	
	ffppx(fitsFilePtr, imgType, firstpix, numPixels, (void*)img->getData(), &status);
	if (status) throw Common::Exception() << "ffppx failed with " << status;
	
	ffclos(fitsFilePtr, &status);
	if (status) throw Common::Exception() << "ffclos failed with " << status;
}
Example #2
0
void BufferCLGL2RAMConverter::update(std::shared_ptr<const BufferCLGL> src,
                                     std::shared_ptr<BufferRAM> dst) const {
    if (src->getSize() != dst->getSize()) {
        dst->setSize(src->getSize());
    }

    src->getBufferGL()->download(dst->getData());
}
std::shared_ptr<BufferGL> BufferRAM2GLConverter::createFrom(
    std::shared_ptr<const BufferRAM> bufferRAM) const {
    auto buffer = std::make_shared<BufferGL>(bufferRAM->getSize(), bufferRAM->getDataFormat(),
                                             bufferRAM->getBufferUsage(), bufferRAM->getBufferTarget());

    buffer->upload(bufferRAM->getData(), bufferRAM->getSize() * bufferRAM->getSizeOfElement());
    return buffer;
}
Example #4
0
void BufferRAM2CLConverter::update(std::shared_ptr<const BufferRAM> src,
                                   std::shared_ptr<BufferCL> dst) const {
    if (src->getSize() != dst->getSize()) {
        dst->setSize(src->getSize());
    }

    dst->upload(src->getData(), src->getSize() * src->getSizeOfElement());
}
TileObjectCollidable::TileObjectCollidable(TileMap &map, Vec3<float> position, Vec3<int> tileSizeInVoxels, std::shared_ptr<VoxelMap> voxels)
	: TileObject(map, position),
	tileSizeInVoxels(tileSizeInVoxels), voxels(voxels)
{
	this->collides = true;
	this->bounds.x = (voxels->getSize().x + (tileSizeInVoxels.x - 1)) / tileSizeInVoxels.x;
	this->bounds.y = (voxels->getSize().y + (tileSizeInVoxels.y - 1)) / tileSizeInVoxels.y;
	this->bounds.z = (voxels->getSize().z + (tileSizeInVoxels.z - 1)) / tileSizeInVoxels.z;
}
Example #6
0
int64_t PutSQL::SQLReadCallback::process(std::shared_ptr<io::BaseStream> stream) {
  sql_->resize(stream->getSize());
  auto num_read = static_cast<uint64_t >(stream->readData(reinterpret_cast<uint8_t *>(&(*sql_)[0]),
                                                          static_cast<int>(stream->getSize())));

  if (num_read != stream->getSize()) {
    throw std::runtime_error("SQLReadCallback failed to fully read flow file input stream");
  }

  return num_read;
}
Example #7
0
void BufferCLGL2CLConverter::update(std::shared_ptr<const BufferCLGL> src,
                                    std::shared_ptr<BufferCL> dst) const {
    if (src->getSize() != dst->getSize()) {
        dst->setSize(src->getSize());
    }

    {
        SyncCLGL glSync;
        glSync.addToAquireGLObjectList(src.get());
        glSync.aquireAllObjects();
        OpenCL::getPtr()->getQueue().enqueueCopyBuffer(src->get(), dst->get(), 0, 0,
                                                       src->getSize() * src->getSizeOfElement());
    }
}
Example #8
0
std::shared_ptr<BufferCL> BufferCLGL2CLConverter::createFrom(
    std::shared_ptr<const BufferCLGL> src) const {
    size_t size = src->getSize();
    auto destination =
        std::make_shared<BufferCL>(size, src->getDataFormat(), src->getBufferUsage());
    {
        SyncCLGL glSync;
        glSync.addToAquireGLObjectList(src.get());
        glSync.aquireAllObjects();
        OpenCL::getPtr()->getQueue().enqueueCopyBuffer(src->get(), destination->get(), 0, 0,
                                                       src->getSize() * src->getSizeOfElement());
    }
    return destination;
}
    void cloudCallback (const typename pcl::PointCloud<PointType>::ConstPtr& cloud, size_t index) {
        bool overwrite = false;
        bool pushed = false;
        {
            std::unique_lock<std::mutex> lock(mutex_);
            if (!temp_buffer_element_->isCloudSetAt(index)) {
                temp_buffer_element_->setCloudAt(cloud, index);
                if(isBufferElementFullyEmpty())
                    first_set_stamp = cloud->header.stamp;
                else if (isBufferElementFullySet() || isItTimeToPushElement(cloud->header.stamp)) {
                    overwrite = buffer_->pushBack(temp_buffer_element_);
                    pushed = true;
                    temp_buffer_element_ = std::make_shared<MultiCloudAndImage<PointType>>();
//                    first_set_stamp = cloud->header.stamp;
                }
            }
            else {
                overwrite = buffer_->pushBack(temp_buffer_element_);
                pushed = true;
                temp_buffer_element_ = std::make_shared<MultiCloudAndImage<PointType>>();
                temp_buffer_element_->setCloudAt(cloud, index);
                first_set_stamp = cloud->header.stamp;
            }
        }

        if(pushed) {
            if(overwrite)
                Logger::log(Logger::WARN, "Warning! CloudAndImage Buffer was full, overwriting data!\n");
        }

        if(cloud_timers_->at(index)->time())
            Logger::log(Logger::INFO, "MultiCloudImage Buffer size: %zd.\n", buffer_->getSize());
    }
Example #10
0
FlowFileRecord::FlowFileRecord(std::shared_ptr<core::Repository> flow_repository, const std::shared_ptr<core::ContentRepository> &content_repo, std::shared_ptr<core::FlowFile> &event,
                               const std::string &uuidConnection)
    : FlowFile(),
      snapshot_(""),
      content_repo_(content_repo),
      flow_repository_(flow_repository) {
  entry_date_ = event->getEntryDate();
  lineage_start_date_ = event->getlineageStartDate();
  lineage_Identifiers_ = event->getlineageIdentifiers();
  uuidStr_ = event->getUUIDStr();
  attributes_ = event->getAttributes();
  size_ = event->getSize();
  offset_ = event->getOffset();
  event->getUUID(uuid_);
  uuid_connection_ = uuidConnection;
  if (event->getResourceClaim()) {
    event->getResourceClaim()->increaseFlowFileRecordOwnedCount();
    content_full_fath_ = event->getResourceClaim()->getContentFullPath();
  }
  if (event->getFlowIdentifier()) {
    std::string attr;
    event->getAttribute(FlowAttributeKey(FlowAttribute::FLOW_ID), attr);
    setFlowIdentifier(event->getFlowIdentifier());
    if (!attr.empty()) {
      addKeyedAttribute(FlowAttribute::FLOW_ID, attr);
    }
  }
}
    void cloudCallback (const typename pcl::PointCloud<PointType>::ConstPtr& cloud) {
        bool overwrite = false;
        bool pushed = false;
        {
            std::unique_lock<std::mutex> lock(mutex_);
            if (!temp_buffer_element_->isCloudSet()) {
                temp_buffer_element_->setCloud(cloud);
                if (temp_buffer_element_->isImageSet() || !provides_images_) {
                    overwrite = buffer_->pushBack(temp_buffer_element_);
                    pushed = true;
                    temp_buffer_element_ = std::make_shared<CloudAndImage<PointType>>();
                }
            }
            else {
                overwrite = buffer_->pushBack(temp_buffer_element_);
                pushed = true;
                temp_buffer_element_ = std::make_shared<CloudAndImage<PointType>>();
                temp_buffer_element_->setCloud(cloud);
            }
        }

        if(pushed) {
            if(overwrite)
                Logger::log(Logger::WARN, "Warning! CloudAndImage Buffer was full, overwriting data!\n");
        }

        if(cloud_timer_->time())
            Logger::log(Logger::INFO, "CloudImage Buffer size: %zd.\n", buffer_->getSize());
    }
    void imageCallback(const pcl::io::Image::Ptr& image) {
        bool overwrite = false;
        bool pushed = false;
        {
            std::unique_lock<std::mutex> lock(mutex_);
            if (!temp_buffer_element_->isImageSet()) {
                temp_buffer_element_->setImage(image);
                if (temp_buffer_element_->isCloudSet()) {
                    overwrite = buffer_->pushBack(temp_buffer_element_);
                    pushed = true;
                    temp_buffer_element_ = std::make_shared<CloudAndImage<PointType>>();
                }
            }
            else {
                overwrite = buffer_->pushBack(temp_buffer_element_);
                pushed = true;
                temp_buffer_element_ = std::make_shared<CloudAndImage<PointType>>();
                temp_buffer_element_->setImage(image);
            }
        }

        if(pushed) {
            if(overwrite)
                Logger::log(Logger::WARN, "Warning! CloudAndImage Buffer was full, overwriting data!\n");
        }

        if(image_timer_->time())
            Logger::log(Logger::INFO, "CloudImage Buffer size: %zd.\n", buffer_->getSize());
    }
Example #13
0
	bool File::write(std::shared_ptr<Data> data)
	{
		if (good() && !isRead() && isBinary())
		{
			handle.write(reinterpret_cast<char *>(data->getBuffer()), data->getSize());
		}
		return false;
	}
Example #14
0
void VoxelMap::setSlice(int z, std::shared_ptr<VoxelSlice> slice)
{
	if (z < 0 || (unsigned)z >= this->slices.size())
	{
		LogError("Trying to set slice %d in a {%d,%d,%d} sized voxelMap",
			z, this->size.x, this->size.y, this->size.z);
		return;
	}
	if (slice->getSize() != Vec2<int>{this->size.x, this->size.y})
	{
		LogError("Trying to set slice of size {%d,%d} in {%d,%d,%d} sized voxelMap",
			slice->getSize().x, slice->getSize().y,
			this->size.x, this->size.y, this->size.z);
		return;
	}
	this->slices[z] = slice;
}
 int64_t process(std::shared_ptr<org::apache::nifi::minifi::io::BaseStream> stream) {
   int64_t ret = 0;
   ret = stream->read(buffer_, buffer_size_);
   if (stream)
     read_size_ = stream->getSize();
   else
     read_size_ = buffer_size_;
   return ret;
 }
Example #16
0
std::shared_ptr<gui::controller::ButtonController> ButtonFactory::create(std::shared_ptr<gui::model::ButtonModel> model,
	std::shared_ptr<gui::controller::AbstractWindowedController> container)
{
	int window_style = WS_CHILD | WS_TABSTOP; // BS_DEFPUSHBUTTON

	if (model->isVisible())
		window_style |= WS_VISIBLE;

	int button_id = IdProvider::getInstance()->generateId();

	HWND hWnd = CreateWindowEx (0,
	                            "BUTTON",
	                            model->getText().c_str(),
	                            window_style,
	                            model->getLocation()->getX(),
	                            model->getLocation()->getY(),
	                            model->getSize()->getWidth(),
	                            model->getSize()->getHeight(),
	                            container->getHWnd(),
	                            (HMENU)button_id,
	                            Application::getInstance()->getHInstance(),
	                            0);

	if (!hWnd)
		throw SystemError( SystemError::getLastErrorMessage() );

	std::shared_ptr<controller::ButtonController> controller =
	    std::make_shared<controller::ButtonController>( hWnd, button_id );

	controller->setButtonModel (model);
	controller->setName (model->getName());
	
	if (model->getFontModel())
	{
		gui::factory::FontFactory font_factory;
		std::shared_ptr<gui::handler::FontHandler> font_handler = font_factory.create (model->getFontModel());
		controller->setFontHandler (font_handler);
	}
	
	// Register controller on MessageDispatcher
	MessageDispatcher::getInstance()->registerController (controller);

	return controller;
}
Example #17
0
string Folder::generateData(std::shared_ptr<FileEntry> entry){
  string data = entry->getName() + ';';
  data += to_string(entry->getSize()) + ';';
  data += to_string(entry->getCreationTime()) + ';';
  data += to_string(entry->getModificationTime()) + ';';
  data += to_string(entry->getAccessTime()) + ';';
  data += to_string(entry->getInitialBlock()) + ';';
  data += to_string(entry->isFolder()) + ';';
  return data;
}
Example #18
0
	void MSEFunctor::getDiff(const std::shared_ptr<DataBucket> labelDataBucket,
		const std::shared_ptr<DataBucket> outputDataBucket, std::shared_ptr<DataBucket>& diff)
	{
		const DataSize labelSize = labelDataBucket->getSize();
		const DataSize outputSize = outputDataBucket->getSize();
		const DataSize diffSize = diff->getSize();
		diff->fillData(0.0f);
		for (size_t on = 0; on < outputSize.number; on++)
		{
			const float* labelData = labelDataBucket->getData().get() + on*labelSize._3DSize();
			const float* outputData = outputDataBucket->getData().get() + on*outputSize._3DSize();
			float* diffData = diff->getData().get() + on*diffSize._3DSize();
			for (size_t nextDiffIdx = 0; nextDiffIdx < diffSize._3DSize(); nextDiffIdx++)
			{
				const size_t dataIdx = nextDiffIdx;
				diffData[nextDiffIdx] += 2.0f*(outputData[dataIdx] - labelData[dataIdx]);
			}
		}
	}
std::shared_ptr<BufferRAM> BufferGL2RAMConverter::createFrom(
    std::shared_ptr<const BufferGL> src) const {
    auto dst = createBufferRAM(src->getSize(), src->getDataFormat(), src->getBufferUsage(), src->getBufferTarget());

    if (!dst)
        throw ConverterException(std::string("Cannot convert format from GL to RAM: ") +
                                     src->getDataFormat()->getString(),
                                 IvwContext);

    src->download(dst->getData());
    return dst;
}
Example #20
0
std::shared_ptr<BufferRAM> BufferCLGL2RAMConverter::createFrom(
    std::shared_ptr<const BufferCLGL> src) const {
    size_t size = src->getSize();
    auto destination = createBufferRAM(size, src->getDataFormat(), src->getBufferUsage());

    if (destination) {
        src->getBufferGL()->download(destination->getData());
    } else {
        LogError("Invalid conversion or not implemented");
    }

    return destination;
}
Example #21
0
	//////////////////////////////////////////////////////////////////////////
	//cross entropy
	float CrossEntropyFunctor::getLoss(const std::shared_ptr<DataBucket> labelDataBucket,
		const std::shared_ptr<DataBucket> outputDataBucket)
	{
		const auto outputSize = outputDataBucket->getSize();
		const float* labelData = labelDataBucket->getData().get();
		const float* outputData = outputDataBucket->getData().get();
		float loss = 0.0f;
		for (size_t i = 0; i < outputSize.totalSize(); i++)
		{
			const float curLoss = -labelData[i] * std::log(outputData[i]);
			loss = moving_average(loss, i+1, curLoss);
		}		
		return loss*outputSize._3DSize();
	}
Example #22
0
void test_read_write_mix(const uint8_t* buf, uint32_t buf_len,
                         const std::shared_ptr<SizeGenerator>& write_gen,
                         const std::shared_ptr<SizeGenerator>& read_gen) {
  // Try it with a mix of read/write sizes.
  std::shared_ptr<TMemoryBuffer> membuf(new TMemoryBuffer());
  std::shared_ptr<TZlibTransport> zlib_trans(new TZlibTransport(membuf));
  unsigned int tot;

  tot = 0;
  while (tot < buf_len) {
    uint32_t write_len = write_gen->getSize();
    if (tot + write_len > buf_len) {
      write_len = buf_len - tot;
    }
    zlib_trans->write(buf + tot, write_len);
    tot += write_len;
  }

  zlib_trans->finish();

  tot = 0;
  boost::shared_array<uint8_t> mirror(new uint8_t[buf_len]);
  while (tot < buf_len) {
    uint32_t read_len = read_gen->getSize();
    uint32_t expected_read_len = read_len;
    if (tot + read_len > buf_len) {
      expected_read_len = buf_len - tot;
    }
    uint32_t got = zlib_trans->read(mirror.get() + tot, read_len);
    BOOST_REQUIRE_LE(got, expected_read_len);
    BOOST_REQUIRE_NE(got, 0);
    tot += got;
  }

  BOOST_CHECK_EQUAL(memcmp(mirror.get(), buf, buf_len), 0);
  zlib_trans->verifyChecksum();
}
Example #23
0
bool HGTController::expandDiff(CourgetteInstance* ci, std::shared_ptr<MCFCore::MCFFile> file)
{
	m_hFile.close();

	UTIL::FS::Path path(m_szInstallDir, file->getName(), false);
	path += file->getPath();

	gcString oldFile = path.getFullPath();
	gcString diffFile("{0}_diff", m_szFile);

	try
	{
		UTIL::FS::FileHandle fhSrc(m_szFile, UTIL::FS::FILE_READ);
		UTIL::FS::FileHandle fhDest(diffFile.c_str(), UTIL::FS::FILE_WRITE);
		fhSrc.seek(file->getOffSet());

		decompressDiff(file->getDiffSize(), fhSrc, fhDest);

		UTIL::FS::delFile(diffFile);
	}
	catch (gcException)
	{
		UTIL::FS::delFile(diffFile);
		return false;
	}

	MD5Progressive md5;

	try
	{
		m_hFile.open(m_szFile, UTIL::FS::FILE_APPEND);
		m_hFile.seek(file->getOffSet());
	}
	catch (...)
	{
		return false;
	}

	uint64 fsize = file->getSize();
	uint64 tot = 0;

	bool res = ci->applyDiff(oldFile.c_str(), diffFile.c_str(), [this, &md5, &tot, fsize](const char* buff, size_t size) -> bool
	{
		md5.update(buff, size);
		return writeDiff(tot, fsize, buff, size);
	});

	return (res && md5.finish() == file->getCsum());
}
 /**
  * Unmarshall stats from a flat buffer.
  * Note: the scidb::SharedBuffer is a thin wrapper over a block of allocated memory.
  * @param statData the buffer of data; must be exactly getMarshalledSize() bytes.
  */
 Stats(std::shared_ptr<SharedBuffer>& statData)
 {
     /* assert-like defensive exception */
     if (statData->getSize() != getMarshalledSize())
     {
         throw SYSTEM_EXCEPTION(SCIDB_SE_INTERNAL, SCIDB_LE_ILLEGAL_OPERATION)
               << "Received a statistics data buffer of incorrect size";
     }
     size_t* ptr = static_cast<size_t*> (statData->getData());
     chunkCount = *ptr;
     ++ptr;
     cellCount = *ptr;
     ++ptr;
     minCellsPerChunk = *ptr;
     ++ptr;
     maxCellsPerChunk = *ptr;
     ++ptr;
 }
Example #25
0
std::shared_ptr<BufferCL> BufferRAM2CLConverter::createFrom(
    std::shared_ptr<const BufferRAM> bufferRAM) const {
    return std::make_shared<BufferCL>(bufferRAM->getSize(), bufferRAM->getDataFormat(),
                                      bufferRAM->getBufferUsage(), bufferRAM->getData());
}
Example #26
0
ExtractText::ReadCallback::ReadCallback(std::shared_ptr<core::FlowFile> flowFile, core::ProcessContext *ctx)
    : flowFile_(flowFile),
      ctx_(ctx) {
  buffer_.reserve(std::min<uint64_t>(flowFile->getSize(), MAX_BUFFER_SIZE));
}
Example #27
0
std::shared_ptr<BufferRAM> BufferCL2RAMConverter::createFrom(
    std::shared_ptr<const BufferCL> src) const {
    auto dst = createBufferRAM(src->getSize(), src->getDataFormat(), src->getBufferUsage());
    src->download(dst->getData());
    return dst;
}
Example #28
0
std::string ShoeLastTemplateDao::addShoeLastTemplate(std::shared_ptr<ShoeLastTemplate> temp)
{
    if(temp == nullptr)
    {
        LoggerManager::instance()->logInfo("insert shoe last template failed, it's a null shoe last template object.");
        return "";
    }

    if(getShoeLastTemplate(temp->getOId()) != nullptr)
        return temp->getOId();

    //first insert files
    if(!boost::filesystem::exists(temp->getShoeLastTemplate()))
    {
        LoggerManager::instance()->logInfo("add shoe last template failed, file doesn't exists");
        return "";
    }

    std::string shoeLastOId = DatabaseUtil::instance()->storeFile(temp->getShoeLastTemplate(), DatabaseUtil::instance()->getDatabase(), false);
    if(shoeLastOId == "")
    {
        LoggerManager::instance()->logInfo("insert shoe last to database failed.");
        return "";
    }

    temp->setShoeLastTemplate(shoeLastOId);

    std::string shoeLastBottomOId = DatabaseUtil::instance()->storeFile(temp->getShoeLastTemplateBottom(), DatabaseUtil::instance()->getDatabase(), false);
    if(shoeLastBottomOId == "")
    {
        LoggerManager::instance()->logInfo("insert shoe last bottom to database failed.");
        return "";
    }
    temp->setShoeLastTemplateBottom(shoeLastBottomOId);

    mongo::BSONObjBuilder builder;
    builder.genOID().append(mongo::StringData(DBConstant::ShoeLastTemplateSizeField), temp->getSize());
    builder.append(mongo::StringData(DBConstant::ShoeLastTemplateHeelHeightField), temp->getHeelHeight());
    builder.append(mongo::StringData(DBConstant::ShoeLastTemplateLastField), temp->getShoeLastTemplate());
    builder.append(mongo::StringData(DBConstant::ShoeLastTemplateLastBottomField), temp->getShoeLastTemplateBottom());

    std::string oid = DatabaseUtil::instance()->insert(builder, DatabaseUtil::instance()->getDatabase(), DBConstant::ShoeLastTemplateCollection);

    if(oid != "")
        LoggerManager::instance()->logInfo("Shoe Last Template DAO insertion success.");
    else
        LoggerManager::instance()->logInfo("Shoe Last Template DAO insertion failed.");
    return oid;
}
Example #29
0
std::shared_ptr<BufferCLGL> BufferGL2CLGLConverter::createFrom(
    std::shared_ptr<const BufferGL> src) const {
    return std::make_shared<BufferCLGL>(src->getSize(), src->getDataFormat(), src->getBufferUsage(),
                                        src->getBufferObject());
}
Example #30
0
void BufferGL2CLGLConverter::update(std::shared_ptr<const BufferGL> src,
                                    std::shared_ptr<BufferCLGL> dst) const {
    if (src->getSize() != dst->getSize()) {
        dst->setSize(src->getSize());
    }
}