How do I build ITK-SNAP? - qt

I use ITK 4.3, VTK and Qt on Visual Studio 9. How do I add ITK-SNAP?
I want to know the difference between ITK and ITK-SNAP and what does ITK-SNAP add compared to ITK.
I started working with ITK. Do I need to change my code or can I continue in my project?

SNAP is a software application used to segment structures in 3D medical images. It provides semi-automatic segmentation using active contour methods, as well as manual delineation and image navigation. The software was designed with the audience of clinical and basic science researchers in mind, and emphasis has been placed on having a user-friendly interface and maintaining a limited feature set to prevent feature creep. ITK-SNAP is free software, provided under the General Public License. ITK-SNAP binaries are provided free of charge for academic or commercial use.
This tutorial provides a step by step walkthrough of building ITK-SNAP 2.4.0 from source on Windows. We will be using Microsoft Visual Studio 2010 for building the application. Make sure you have VS 2010 installed and VS Service Pack 1 as well. (if required) : Click Here for full tutorial

ITK is abbrevation of Insight Segmentation and Registration Toolkit which is open source library which provide image processing algorithms to develop your application on different platforms ex python, c++.You can follow this link: http://qtitkvtkhelp.blogspot.in/2012/11/itk-installation-for-msvc.html to build ITK and use that in your application. ITK-SNAP It is an open source software you can directly install it from here. I think this is solution for all of your questions.

Related

Migrating code from Qt free version to Qt Commercial [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
Friends I am in dilemma.
None of the threads explain if [and how ] i can migrate an application from Qt free version to Qt commercial.
Me and my friends started developing an application using Qt[freely available] for learning .
We have created a good application and think we can sell it for pocket money.
The application does not modify any of the Qt source[we are not that good programmers :P] and we dynamically linked also.
I want to know how can i migrate it to Qt Commercial [since it protects from giving my source code].
First things first
a) can i migrate an application[not distributed in any form] written in Qt free version to Qt commercial.
b) will i have to re-write the application again in Qt commercial version or i can use my source files from old project and migrate to new Qt commercial project.
c) are there any API difference between Qt commercial libraries and Qt LGPL libraries that will make porting difficult/impossible. we still plan to have dynamic linking
d) i hope all Qt LGPL features are supported in Qt Commercial.
e) is there any complex legal thing i need to know. i only understand with LGPL we have to distribute code / object code + dynamic linking but in Qt commercial we dont have to.
If it is possible and legal then only we will buy Commercial License[expensive huh] ?
Why don't you go to qt.digia.com click Try&Buy and then Download and Install Qt Enterprise.
You'll see if you can port it before actually buying a license.
And for licensing questions I would suggest to contact then directly. I guess they would give you all the answers you need and try to help you with any problems you run in to.
The core is basically the same. So you can compile your existing code by enterprise version with no change. The only reason for the commercial license is if you need commercial support or you are shipping on an embedded platform like a cellphone.
Qt Enterprise has some more features and tools like Charts, Qt purchasing, Qt Quick Compiler, Boot2Qt and some others.
I see two really big issues:
Not understanding the terms of the commercial license you plan on using.
Not understanding the terms of the LGPL you develop under: they are nothing like what you state.
The terms of the commercial Qt license either expressly prohibit what you have done, or it is implied/understood that what you did is a NO-NO. Your project is now legally tainted and you can't ever apply the commercial license to it unless you buy the licenses for all the developers that participated in the development. They'd go broke long ago if everyone was as "clever" as you are.
The LGPL does not force you to release your source code. All it forces you to do is to let the end user re-link with binary-compatible Qt of their choice, and for you to allow access to the sources of Qt you used. If you use a release Qt, all you need to provide, on request, is the .zip of the Qt version(s) you redistribute. Since you link dynamically with Qt, there's nothing further you need to do here.
The only binary differences between commercial and open source Qt are in the license markers. There's literally nothing you need to do to link your code with a commercial Qt. Just swap out the DLLs and you're done.
I'm not a lawyer.

static linking Qt with open source version [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I'm developing an application with the Qt open source edition. As I don't want to deliver the Microsoft Visual Visual C(++) redistributables, I'd like to use a static-linked version of Qt.
The Qt licensing information says that I "should" develop with a commercial Qt license if I want to use static linking in my application, although when I use the configure -static command for building a static Qt library the command prompt asks me if I use the commercial or open source version of Qt.
So it is possible to build Qt with the open source version? Do I need the commercial edition to use static linking? I won't sell the application.
EDIT April 2016
Actually, I have recently been reading in depth about LGPL, and asking some experts on the subject. Turns out that the inability to use static linking for Qt in closed source applications is more of a cultivated legend and has nothing to do with reality.
What LGPL requires is the possibility for the end user to relink the application against a different version of the library. Using dynamic linking is one way to achieve that, but you can just as easily provide your object files, this way you don't have to open your source and the LGPL requirement is still satisfied.
On the Qt website there are 2 legal FAQs and in neither of them is it directly stated that you can't do it. Just as it is not stated that you can. However, there are at least several instances of implying a vague legal threat in case that you do. I think there is a good explanation for all of those - they can't say that you can't do it without publishing a practical lie which may as well have negative legal repercussions for them, and they are willing to discourage doing that rather than encourage it, as it has the potential to force more people into purchasing a commercial license.
So in short, yes you can, and you most definitely should as lately Qt has become a living deployment hell, plus as of Qt 5.7 in a static build, QML files are tucked neatly in the executable rather than being out on the file system, for anyone to tamper with. Just make sure that:
your Qt build only contains modules, licensed under LGPL, and nothing GPL
the about section of your app mentions that it is using Qt and contains a link to where you can download the application's object files
include all the respective license files with your application
Lastly, your application actually has to be "relinkable", that is, it must be able to work with a compatible library version that provides the necessary functionality. Which means that if you have made modifications to Qt before building it, you must provide those in the form of source code as well, but only the modifications to Qt, not your application's source code.
Update:
Here is an excerpt directly from the GNU FAQ:
For the purpose of complying with the LGPL (any extant version: v2,
v2.1 or v3):
(1) If you statically link against an LGPL'd library, you must also provide your application in an object (not necessarily source)
format, so that a user has the opportunity to modify the library and
relink the application.
That states it pretty clear.
The old, original answer:
It is possible to build Qt statically as long as your application is open-source and you provide the source. If you want to keep your source closed, you either need an expensive commercial license, or you need to use dynamic linking.
BTW using a static build of Qt is pretty nice, for Qt5 I get about 7-8 MB executable with no external dependencies, which is much better than the 20+ MB of additional dll's you have to ship with a dynamically linked app.
For more information, you can take a look at this video: Making the correct license choice when developing with Qt
All in all, can it be done? 100% yes. Should it be done? It depends, for personal/testing/learning purposes it is 100% OK, however if you plan to distribute production grade software, be that commercially or not, open source or not, you'd better first consult with a lawyer. The whole subject is unnecessarily complicated, subject to interpretation, so that the consultation with a lawyer becomes more expensive than a pricey commercial license.
The answer is Yes, if you are willing to open source your application.
According to the Qt-Project's own interpretation of the licenses they use, if you dynamically link to the Qt libraries your application can be either closed source or open. If you statically link, however, your application is subject to the terms of the LGPL.
The exact language the Qt Project uses is this:
In case of dynamic linking, it is possible, but not mandatory, to keep
application source code proprietary as long as it is “work that uses
the library” - typically achieved via dynamic linking of the library.
In case of static linking of the library, the application itself may
no longer be “work that uses the library” and thus become subject to
LGPL. It is recommended to either link dynamically, or provide the
application source code to the user under LGPL.
(http://qt-project.org/legal.html)
The suggestion in some of the other answers that the situation is "not at all clear" is simply untrue - The Qt Project has tried to be abundantly clear about in what circumstances usage of the LGPL license is permissible, and static linking is one of those as long as the app is also LGPL.
Since the original question specifies non-commercial (not necessarily open source), the asker will need to decide whether they can allow distribution under the LGPL (or GPL by extension, as the above page also says "LGPL can be converted to GNU General Public License").

How to view pdf using QT framework on blackberry playbook

I had asked before also for rendering pdf but its in blackberry JAVA development.
But currently I want to know , is it possible to render a PDF in the playbook using native sdk 2.0.0 with the QT framework.
If it is possible then can you suggest me some example if it exist on the google?
Is it possible with any third party library i.e of c++??
Thanks in advance.
It is possible, provided you agree to the licensing of the third party library.
Open source world has two know libraries for PDF rendering:
Poppler
MuPDF
Both provide bindings for Qt, the bad part is that both are licensed GPL.
However, the firms working behind both libraries provide commercial licensing options.
For commercial licensing:
GlyphandCog provides commercial licensing for XpdfWidget/Qt
Artifex Software, Inc. provides commercial licensing for MuPDF.

Which version of Flash Builder do I need?

There is this similar question but I think it was answered when Flash Builder was still Flex Builder.
I need to buy Flash Builder and really the Adobe site is not clear about the different versions. I need to know what is the difference between the standard and the premium editions. Is there a lack of components in the standard? Is there anything that I won´t be able to compile in standard or the differences are just in terms of the IDE functionality?
Thank you
The main differences between Standard and Premium versions are:
Premium version has possibility to create and run unit tests within IDE.
Premium version has profiler.
Premium version has Network Monitor (to see requests and responses).
Premium version has advanced Data wizards (to generate code by WSDL or to generate server side BlazeDS/LCDS code by DB).
Premium version has possibility to operate with automation libraries.
All the other standard libraries, including data visualization (charts and ADG), are free and open-sourced and available in SDK since (if I not mistaken) 3.2 SDK version.
So if you need:
Code editing.
Debugger.
Design view.
Refactoring.
Compiling (including AIR).
SDK features and libraries.
Multi SDK features.
In this case Standard version is enough.
You can see link to the compare matrix which hasn't all the features listed in # www.Flextras.com comment :)

Developing MHEG application

I have downloaded OpenMHeg simulator..how to develop an application in mheg?what eclipse version i need to use?where do i get the sdk for mheg?
I haven't tried yet. but I think it's worth trying. Someone said that the BBC's implementation of MHEG5 is open sourced
It can be downloaded from mhegplus on sourceforge
There is no MHEG-5 SDK. There is some limited documentation available online, and a few discussions of the type hierarchy.
Since MHEG-5 has no support for user defined types and the API is completely provided by the implementation (in various states of brokenness), you only need an editor and an understanding of the application model to write applications.
I wrote an introduction to MHEGPlus a while ago but didn't go into any advanced application building techniques. There are a few more examples out there if you look for them.

Resources