Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 18 23:13
    mloskot commented #596
  • Jun 18 10:15
    mloskot commented #596
  • Jun 18 10:14
    mloskot commented #596
  • Jun 18 10:10
    mloskot commented #596
  • Jun 18 07:31
    sdebionne commented #596
  • Jun 18 07:25
    sdebionne commented #596
  • Jun 17 23:11
    mloskot commented #596
  • Jun 17 23:10
    mloskot commented #596
  • Jun 17 23:06
    mloskot opened #618
  • Jun 16 19:51
  • Jun 15 22:13
    pdimov commented #614
  • Jun 15 19:58
    sdebionne commented #614
  • Jun 15 19:39
    sdebionne commented #617
  • Jun 12 21:11
    JohnCatchpole starred boostorg/gil
  • Jun 11 13:27
    fmorgner commented #617
  • Jun 11 12:06
    codecov[bot] commented #617
  • Jun 11 12:00
    sdebionne commented #617
  • Jun 11 10:32
    Build #207 passed
  • Jun 11 09:34
    fmorgner opened #617
  • Jun 11 09:25
Olzhas Zhumabek
@simmplecoder
I want to try to rewrite some of my algorithms in cuda, but am wondering how I could move the data around, as just writing an allocator won't work (writing into that memory from CPU is not allowed). I am just doing it for my personal project, not to submit PR
Olzhas Zhumabek
@simmplecoder
I believe I finally figured out what was the problem with my PR. I was passing unsigned pixel to build a signed image. @mloskot , @stefanseefeld , if you don't have any other requests for changes, I would like to merge it after tests pass
Mateusz Łoskot
@mloskot
@simmplecoder You mean #392?
Olzhas Zhumabek
@simmplecoder
@mloskot , yes, sorry for not embedding the link
Mateusz Łoskot
@mloskot
OK, I'll have a look in a moment
renaissance69
@renaissance69
@mloskot I was able to compile and run a few example programs on boost, I will go through the tutorial and try and understand how those programs are written, thanks for the help!
Mateusz Łoskot
@mloskot
@renaissance69 Good to hear. If you have any questions feel free to ask, on list or here
Olzhas Zhumabek
@simmplecoder
@mloskot, there is a message from a weird email (bot?) about breaking GIL test. I believe it is expected since boostorg/gil#394 is not merged to master, right? Should I respond to it or just ignore the message? Is there anything I can do to help?
Mateusz Łoskot
@mloskot
There where?
The #394 is merged to master as expected
image.png
@simmplecoder You mean #395? I'm looking
Mateusz Łoskot
@mloskot
@simmplecoder Thanks for pointing that out. I have just dealt with it.
I have no idea who @spacelg is but it does not look like a bot to me.
From the issue description, it suggests she/he just built all Boost tests locally
Olzhas Zhumabek
@simmplecoder
I guess I’m just not used to notification system (gets passed through gh’s notification email, not through personal ones). Thanks for dealing with it so quickly. I thought it is one of those Boost release problems so I thought I should try to help as well
Mateusz Łoskot
@mloskot
My diagnosis is that things may have changed a bit by the merge to master, but that only helped to reveal incomplete setup used by @spacelg
Anyone who builds tests or examples is supposed to have all deps in place.
MIRAL SHAH
@miralshah365
@mloskot I have pushed the median filter implementation with tests that works now. I think the implementation can be optimized suggest me if you see any improvements.
Mateusz Łoskot
@mloskot
@miralshah365 Thanks. I will have a look over the weekend
Olzhas Zhumabek
@simmplecoder
How can I link to GIL in CMake? I believe if I will just do add_library then target_include_directories, other parts of boost used in GIL will not be found by it, right?
Pranam Lashkari
@lpranam
For library linking you'll need to use target_link_libraries
What are tou trying to do?
Olzhas Zhumabek
@simmplecoder
I want to create a project that uses Boost GIL. I do not want to install boost, and would like to work directly with upstream version
target_link_libraries requires gil being created as a library, which I believe GIL's CMakeLists.txt doesn't do. I checked out conan version, but I got weird issue with settings.compiler is not defined
Pranam Lashkari
@lpranam
Then the function you mentioned earlier is way to go cause you don't have to build anything it's header only so...
Olzhas Zhumabek
@simmplecoder
it seems like GIL has dependencies into boost, which makes that approach a bit hard. I'm not sure if there is a complete list of the dependencies. There are also io extensions which I would like to carry over as well, but those need linkage to libpng, libjpeg
Olzhas Zhumabek
@simmplecoder
I've picked up iterator and mp11, but not sure where boost/assert.hpp comes from
Olzhas Zhumabek
@simmplecoder
add_library(gil INTERFACE)
target_include_directories(gil INTERFACE 
    "${BOOST_ROOT}/libs/gil/include"
    "${BOOST_ROOT}/libs/iterator/include"
    "${BOOST_ROOT}/libs/mp11/include"
    "${BOOST_ROOT}/libs/core/include"
)
this worked. Now I need to deal with the io extensions
Olzhas Zhumabek
@simmplecoder
hm, it builds, but the program does nothing. Even "hello" as first line is not output ...
ldd doesn't say that executable is linked to libpng, so I guess I messed up cmake
Olzhas Zhumabek
@simmplecoder
for some reason it duplicated binary into both binary dir root, and folder bin. The one in bin "works", while the one in root does absolutely nothing. Weird
hoooray, works. Damn this was hard
Mateusz Łoskot
@mloskot

@simmplecoder

How can I link to GIL in CMake?
it seems like GIL has dependencies into boost, which makes that approach a bit hard.

Well, you should get familiar with how GIL does it for CI :-)

Here you can see GIL dependencies within Boost itself

https://github.com/boostorg/gil/blob/develop/.ci/get-boost.sh#L28-L86

:point_up: October 12, 2019 6:17 PM This is not enough
Olzhas Zhumabek
@simmplecoder
I went with a very simple approach of creating library boost and shoving include directories and required binaries with set_target_properties
Mateusz Łoskot
@mloskot
I'll put kids to bed and will give you more explanation
Olzhas Zhumabek
@simmplecoder
no need, only if you'd like to
and thanks
Mateusz Łoskot
@mloskot

Step 1: Lightweight clone of Boost superproject (without --recurse-submodules)

git clone https://github.com/boostorg/boost.git

Step 2: Clone libraries required by GIL

Method 1: Roll required git submodule update --init-s manually as https://github.com/boostorg/gil/blob/develop/.ci/get-boost.sh#L28-L86

Method 2: Run python tools/boostdep/depinst/depinst.py gil that does it automatically https://github.com/boostorg/boostdep/blob/develop/depinst/depinst.py

Step 3: Deploy headers of libraries required by GIL

Method 1: Just build your project with b2 and the magic should happen.

Method 2: Run b2 headers inside the Boost superproject tree and it will deploy all required Boost headers where all Boost libraries look for them (ie. boost/ subdirectory of the tree)

Finally, to configure your CMake project using GIL headers you just need:

find_package(Boost REQUIRED)

add_executable(myexe ...)
target_link_libraries(myexe Boost::boost)
This is minimum to understand in order to use any header-only Boost libraries in CMake project .
Olzhas Zhumabek
@simmplecoder
thanks! I'll try to setup reproducible builds tomorrow, and I hope to make a small example with heterogeneous memory management approach I have in mind tomorrow. I'd like to take the most pragmatic approach to it for now
Mateusz Łoskot
@mloskot
@simmplecoder Keep in mind that instead of cloning Boost and its submodules, you can try apt-get install libboost-dev to get all Boost headers and they you can just git clone ..../boostorg/gil.git and build GIL-based programs using the system-wide installed Boost.
This is what I called lightweight mode in here https://github.com/boostorg/gil/blob/develop/CONTRIBUTING.md#using-cmake
Obviously, using ancient Boost .1.60 with GIL's develop may be not working well :-) Prefer fairly recent Boost releases
Olzhas Zhumabek
@simmplecoder
yeah, I was thinking of something like that. I saw an issue though that was related to built-in boost causing troubles
I'll try a CI setup tomorrow, going to sleep for now. Good night
Olzhas Zhumabek
@simmplecoder
I started reading the design guide again ... and found that I could avoid so much typing by just reading that document
Mateusz Łoskot
@mloskot
From my own fairly long experience with GIL, I can only confirm that returning back to the docs is worth it. They may feel overwhelming at first but that is why reaching them frequently pays off
Mateusz Łoskot
@mloskot
Speaking of docs, I need to get back to structuring the image processing.
I want to create chapters almost directly based on structuring proposed in "Principles of Digital Image Processing" by Burger & Burge
Mateusz Łoskot
@mloskot
@miralshah365 I'm looking at your PR. Please, take the nitpicking comments as just comments for some future consideration, not as request for changes now
Mateusz Łoskot
@mloskot
This seems like a cool idea for a pet project for GIL user
https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
Olzhas Zhumabek
@simmplecoder
I'm writing senior project regarding 3d gaze estimation. I'm still unsure though how to integrate GIL with CUDA. The simplest approach is I believe just creating some sort of a buffer that would hold the content part of image, then just add ability to create image_views from it. I have no idea though how to initialize image_view with just a pointer, or if it is even possible. Too many abstraction layers to peel off