<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Help requests (new posts)</title>
		<link>http://liblqr.wikidot.com/forum/c-24182/help-requests</link>
		<description>Posts in the forum category &quot;Help requests&quot; - Looking for help?</description>
				<copyright></copyright>
		<lastBuildDate></lastBuildDate>
		
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-171159#post-541623</guid>
				<title>Installed files: Re: Installed files</title>
				<link>http://liblqr.wikidot.com/forum/t-171159/installed-files#post-541623</link>
				<description></description>
				<pubDate>Wed, 22 Jul 2009 21:07:43 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I agree that such a list would be useful, but it depends on the configuration options and it is not easy to create one automatically, to my knowledge (suggestions are welcome).<br /> The list you have posted only includes the header files, it misses the library binaries and some other stuff.<br /> If your configuration is reasonably standard, you could get the list of installed files using these commands:</p> <div class="code"> <pre> <code>sudo make install | tee install_output.tmp cat install_output.tmp | grep $(which install) | awk '{print $(NF)}' | sed "s/^'\(.*\)'$/\1/" &gt; installed_files.txt</code> </pre></div> <br /> You should then be able to read the list in the file <tt>installed_files.txt</tt>.<br /> If you also want to see which symbolic links are created, type <tt>cat install_output.tmp | grep "ln"</tt> and inspect the output.<br /> Then, you may remove <tt>install_output.tmp</tt>.<br /> On my Linux system these commands currently produce the following list (when I don't pass the option <tt>—enable-install-man</tt> to <tt>./configure</tt>): <div class="code"> <pre> <code>/usr/lib/liblqr-1.la /usr/lib/liblqr-1.so.0.3.1 /usr/lib/liblqr-1.la /usr/include/lqr-1/lqr.h /usr/include/lqr-1/lqr/lqr_base.h /usr/include/lqr-1/lqr/lqr_gradient_pub.h /usr/include/lqr-1/lqr/lqr_rwindow_pub.h /usr/include/lqr-1/lqr/lqr_energy_pub.h /usr/include/lqr-1/lqr/lqr_cursor_pub.h /usr/include/lqr-1/lqr/lqr_carver_pub.h /usr/include/lqr-1/lqr/lqr_carver_list_pub.h /usr/include/lqr-1/lqr/lqr_carver_bias_pub.h /usr/include/lqr-1/lqr/lqr_carver_rigmask_pub.h /usr/include/lqr-1/lqr/lqr_vmap_pub.h /usr/include/lqr-1/lqr/lqr_vmap_list_pub.h /usr/include/lqr-1/lqr/lqr_progress_pub /usr/lib/pkgconfig/lqr-1.pc</code> </pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-171159#post-541555</guid>
				<title>Installed files: Installed files</title>
				<link>http://liblqr.wikidot.com/forum/t-171159/installed-files#post-541555</link>
				<description></description>
				<pubDate>Wed, 22 Jul 2009 19:58:55 +0000</pubDate>
				<wikidot:authorName>mph</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>It would be helpful to have in the documentation a list of the files structure which should be installed after compiling from the source.</p> <p>I am compiling from the source on OS X and the following was installed,</p> <div class="code"> <pre> <code>/usr/include/lqr-1/lqr.h /usr/include/lqr-1/lqr/ lqr_base.h lqr_carver_bias_pub.h lqr_carver_list_pub.h lqr_carver_pub.h lqr_carver_rigmask_pub.h lqr_cursor_pub.h lqr_energy_pub.h lqr_gradient_pub.h lqr_progress_pub.h lqr_rwindow_pub.h lqr_vmap_list_pub.h lqr_vmap_pub.h</code> </pre></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-169529#post-536374</guid>
				<title>Small patch needed to compile liblqr on Mac OS: change upstream package?: Re: Small patch needed to compile liblqr on Mac OS: change upstream package?</title>
				<link>http://liblqr.wikidot.com/forum/t-169529/small-patch-needed-to-compile-liblqr-on-mac-os:change-upstream-package#post-536374</link>
				<description></description>
				<pubDate>Fri, 17 Jul 2009 02:56:47 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Thanks a lot for the report and for the suggestion, in fact I was already aware of that problem: I just need to test the performance (which is the only aspect which may be affected) of the library without the inlines and if everything goes fine I will just remove them, otherwilse I'll add some special compilation rule for OSX.<br /> By the way, if you or anyone else knows the reason for the compilation failure on Mac OSX and how to prevent such problems in the future please let me know, thanks.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-169529#post-535551</guid>
				<title>Small patch needed to compile liblqr on Mac OS: change upstream package?: Small patch needed to compile liblqr on Mac OS: change upstream package?</title>
				<link>http://liblqr.wikidot.com/forum/t-169529/small-patch-needed-to-compile-liblqr-on-mac-os:change-upstream-package#post-535551</link>
				<description></description>
				<pubDate>Thu, 16 Jul 2009 08:52:57 +0000</pubDate>
				<wikidot:authorName>Vlado Plaga</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Hi,<br /> being a relatively new "<a href="http://digikam.org/">digiKam</a> fan and user", I'm trying to create a "<a href="http://trac.macports.org/ticket/20315">Portfile</a>" for digiKam for the MacPorts project.<br /> Now digiKam 1.0 beta 2 comes with a private version of your liblqr (version 0.4.1). This library <a href="http://trac.macports.org/ticket/19685">does not compile on Mac OS</a> without <a href="http://trac.macports.org/browser/trunk/dports/graphics/liblqr/files/patch-lqr__lqr_energy_priv.h?rev=51312">a little patch</a>.<br /> The patch is to remove the "inline" keyword in two lines. I tested that patch on Linux, and liblqr still compiles. I don't know if it affects functionality or security, though. But if you think it is ok to do so, I'd suggest you apply these changes to the next release, so that liblqr and digiKam 1.0 in the future can compile on Mac OS without any extra patches.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-151395#post-460421</guid>
				<title>A tiny patch and an invitation: Re: A tiny patch and an invitation</title>
				<link>http://liblqr.wikidot.com/forum/t-151395/a-tiny-patch-and-an-invitation#post-460421</link>
				<description></description>
				<pubDate>Sun, 26 Apr 2009 09:48:39 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've applied the patch and I'll join you at bugs.kde.org, thanks.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-151395#post-460141</guid>
				<title>A tiny patch and an invitation: A tiny patch and an invitation</title>
				<link>http://liblqr.wikidot.com/forum/t-151395/a-tiny-patch-and-an-invitation#post-460141</link>
				<description></description>
				<pubDate>Sat, 25 Apr 2009 21:04:31 +0000</pubDate>
				<wikidot:authorName>Julien Narboux</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Hi,</p> <p>Gilles Caullier is asking if you could you include this small patch for the next release ?</p> <p><a href="http://websvn.kde.org/trunk/extragear/graphics/digikam/imageplugins/contentawareresizing/lqr/lqr_base.h?r1=958077&amp;r2=959015">http://websvn.kde.org/trunk/extragear/graphics/digikam/imageplugins/contentawareresizing/lqr/lqr_base.h?r1=958077&amp;r2=959015</a></p> <p>You could also join us at to follow implementation of Lqr in Digikam and discuss with us the possible features:<br /> <a href="https://bugs.kde.org/show_bug.cgi?id=149485">https://bugs.kde.org/show_bug.cgi?id=149485</a></p> <p>Thanks,</p> <p>Julien</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-151301#post-459881</guid>
				<title>How implementation works: Re: How implementation works</title>
				<link>http://liblqr.wikidot.com/forum/t-151301/how-implementation-works#post-459881</link>
				<description></description>
				<pubDate>Sat, 25 Apr 2009 14:18:42 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I implemented version B, which is O(h*w*s), but I have optimised it in order to retain as much information as possible from one step to the next. As for version A, an easy way to test how it performs is to try using the "Null" gradient in the GIMP lqr plugin and using the preservation mask as a gradient function (e.g. by duplicating a layer and filtering it with some edge detection algorithm such as sobel - note thar doing it that way is still O(w*h*s) because the algorithm it is not optimised for that specific situation, but the result is the same).<br /> One could consider adding an option like "carve x seams at a time", to gain a factor x at the expense of a little accuracy, but it would need a lot of work in the core. Maybe I'll try to include this in version 0.5 or later.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-151301#post-459811</guid>
				<title>How implementation works: How implementation works</title>
				<link>http://liblqr.wikidot.com/forum/t-151301/how-implementation-works#post-459811</link>
				<description></description>
				<pubDate>Sat, 25 Apr 2009 09:22:54 +0000</pubDate>
				<wikidot:authorName>Julien Narboux</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Hi,</p> <p>We have a question about your implementation, what do you implement ? I think you implement V ersion B, did you ever tried to implement Version A ? does it create too many artefacts ?<br /> Is your implementation O(h*w*s) where h= height w=widht and s= number of pixel to delete in one direction (assuming we just reduce in one direction) ? or is it O(h*w) ?</p> <p>Version A</p> <p>1- Compute energy<br /> 2- Find all paths of least energy<br /> 3- Delete the required number of paths</p> <p>Version B</p> <p>1- Compute energy<br /> 2- Find one path of least energy<br /> 3- Delete this path and update energy<br /> 4- Find another path of least energy, go to step 3</p> <p>Thanks for your help.</p> <p>Julien</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-144295#post-444410</guid>
				<title>Deleting a carver object: Re: Deleting a carver object</title>
				<link>http://liblqr.wikidot.com/forum/t-144295/deleting-a-carver-object#post-444410</link>
				<description></description>
				<pubDate>Thu, 09 Apr 2009 11:45:22 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Ok, I think I made it. I have introduced a new function:</p> <p><tt>void lqr_carver_set_preserve_input_image(LqrCarver * carver)</tt></p> <p>it must be called right after the carver object creation, and it should ensure that your image data is left untouched by the lqr library (hopefully).<br /> You can pull the new version from the git repo, master branch.<br /> The manual is also updated there.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-144295#post-444361</guid>
				<title>Deleting a carver object: Re: Deleting a carver object</title>
				<link>http://liblqr.wikidot.com/forum/t-144295/deleting-a-carver-object#post-444361</link>
				<description></description>
				<pubDate>Thu, 09 Apr 2009 09:52:48 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've been thinking a little bit more about this issue and maybe I have an idea about how the library could handle the buffer which is passed to it in a non-destructive way. I'll keep you updated.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-144295#post-439152</guid>
				<title>Deleting a carver object: Re: Deleting a carver object</title>
				<link>http://liblqr.wikidot.com/forum/t-144295/deleting-a-carver-object#post-439152</link>
				<description></description>
				<pubDate>Fri, 03 Apr 2009 21:04:09 +0000</pubDate>
				<wikidot:authorName>Andi</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Ok, I guessed so… :-)<br /> We will be using your library some day, right now we only have received patches for a plugin. It is not used officially. We need to fix a lot of code before it can be used :-)<br /> I will tell the other devs that the way we are doing it know is the right one.<br /> Thanks for your answer!!!</p> <p>Best,</p> <p>Andi</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-144295#post-439011</guid>
				<title>Deleting a carver object: Re: Deleting a carver object</title>
				<link>http://liblqr.wikidot.com/forum/t-144295/deleting-a-carver-object#post-439011</link>
				<description></description>
				<pubDate>Fri, 03 Apr 2009 19:06:08 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi,</p> <p>in fact, the library contructor expects to receive a copy of the image, since it manipulates the buffer internally (e.g. it may actually free and reallocate memory for it many times, not only when calling the destuctor). Also, calling the carver destructor method is necessary, since there are a number of other internal structures which need to be freed. So the way in which you're doing things now is the right one.</p> <p>I know that passing a copy is not very efficient, particularly in terms of memory managment, however this has the benefit to ensure that, if there's an error at some point, the orignal image is left untouched.</p> <p>Of course, this benefit would not hold if the DImg object you're manipulating is itself a copy instead of a reference (I'd be surprised, but I don't know that). From the library point of view, the only workaround in such case would actually be to hold a copy internally, since as I wrote above it needs to be able to reallocate the internal buffer (consider for example that at each carving operation the image is actually enlarged, and therefore it requires more memory), so this solution would of course be as much inefficient as copying it beforehand. Therefore, I don't think there's a way out of this (but suggestions are welcome if you have any).</p> <p>BTW I am glad to know that you're using the library in digiKam.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-144295#post-438958</guid>
				<title>Deleting a carver object: Deleting a carver object</title>
				<link>http://liblqr.wikidot.com/forum/t-144295/deleting-a-carver-object#post-438958</link>
				<description></description>
				<pubDate>Fri, 03 Apr 2009 18:09:12 +0000</pubDate>
				<wikidot:authorName>Andi</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Hi,</p> <p>we use the LQR in an image plugin of the digiKam image editor (well we are writing a plugin at the moment).</p> <p>The problem is that we have a crash when the plugin is finishing. This is due to the way we assign the image data to the carver. The data comes from a DImg object (digikam image object) that holds the data.<br /> We pass the pointer to the carver, but after the carver is destroyed by the appropriate function call, the DImg object crashes in the destructor because it tries to free the data (which has already been done by the carver).</p> <p>My actual question is: do we need to call this destroy method or will it be enough to just do "delete carver;" in the destructor of the plugin?<br /> If not, we need to do a deep copy of the image data first (like we do now) and provide this copy to the carver object. But this is not very efficient of course.</p> <p>Andi</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-83091#post-243896</guid>
				<title>I&#039;m on Windows: Re: I&#039;m on Windows</title>
				<link>http://liblqr.wikidot.com/forum/t-83091/i-m-on-windows#post-243896</link>
				<description></description>
				<pubDate>Thu, 21 Aug 2008 23:15:20 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I have no idea, but if you just want to use the Gimp plugin you don't need to install the library, it's embedded in the windows zip file for the plugin.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-83091#post-243847</guid>
				<title>I&#039;m on Windows: I&#039;m on Windows</title>
				<link>http://liblqr.wikidot.com/forum/t-83091/i-m-on-windows#post-243847</link>
				<description></description>
				<pubDate>Thu, 21 Aug 2008 21:29:52 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>How do I install it?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-68342#post-207736</guid>
				<title>Install problems: Re: Install problems</title>
				<link>http://liblqr.wikidot.com/forum/t-68342/install-problems#post-207736</link>
				<description></description>
				<pubDate>Wed, 25 Jun 2008 23:47:33 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>You just download the Gutsy package from the Download page and double-click on it.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-68342#post-200175</guid>
				<title>Install problems: Install problems</title>
				<link>http://liblqr.wikidot.com/forum/t-68342/install-problems#post-200175</link>
				<description></description>
				<pubDate>Wed, 18 Jun 2008 14:32:09 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>I have Ubuntu 7.10 and Gimp 2.4.2 how can I install the Liquid Rescale Library?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-45272#post-123393</guid>
				<title>Using Other features: Re: Using Other features</title>
				<link>http://liblqr.wikidot.com/forum/t-45272/using-other-features#post-123393</link>
				<description></description>
				<pubDate>Wed, 12 Mar 2008 03:37:29 +0000</pubDate>
				<wikidot:authorName>UnNeurone</wikidot:authorName>				<wikidot:authorUserId>39255</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>First off, I'm glad that IM uses the lqr library. Please feel free to <a href="http://liblqr.wikidot.com/en:contact">contact</a> me via mail for explanations, suggestions, discussion etc.</p> <p>The manual supplied with the sources in the docs/ directory actually is comprehensive of all the functions in the library: the reference (Chapter 3) is incomplete, but the user's manual (Chapter 2) should explain it all (please, point to me any part which may be obscure and I'll try to clarify it).</p> <p>For example, you can get the information about the seams which are to be carved from the "visibility maps", which are described in Chapter 2, in the section named "Dealing with the visibility maps (the seams)". Example 2.5 shows how to read out the seam rank ("visibility level") of a pixel.</p> <p>For the purpose of smoothing, you could do it as follows (assuming a horizontal resizing): do the carving, read out the image and the visibility map, and parse each row of both in parallel. In the visibility map there will be regions with 0's only (which correnspond to the pixels which are kept) and others with strictly positive values (which are the pixels which were carved); this way you can identify which pixels in the output image belong to non-contiguous regions of the input image and smooth them.</p> <p>In case of vertical resizing you would parse by column, of course. However, there's a problem when resizing in both directions at once. If you wish to introduce such a feature, you should be careful to implement it in two separate steps yourself. I may also implement it as an option for the library, but I am already working on other features, so it may take quite some time to see this in the release code.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://liblqr.wikidot.com/forum/t-45272#post-120318</guid>
				<title>Using Other features: Using Other features</title>
				<link>http://liblqr.wikidot.com/forum/t-45272/using-other-features#post-120318</link>
				<description></description>
				<pubDate>Fri, 07 Mar 2008 06:23:57 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>I am part of the ImageMagick development team, where an initial experimental liquid resize has already been added for batch processing of images.</p> <p>However I am finding very little information on doing just about anything else! Is there a more comprehensive manual some where?</p> <p>Things I want to include is some of the lower level functions that should be available in the library such as getting a mask of the the seams that would be removed from an image, when it is seam carved.</p> <p>This information is useful for generating smoother images by compressing the pixels in the areas removed, rather than just deleteing the pixels out-right!</p> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>