https://public.kitware.com/Wiki/api.php?action=feedcontributions&user=Thewtex&feedformat=atom
KitwarePublic - User contributions [en]
2024-03-28T23:28:17Z
User contributions
MediaWiki 1.38.6
https://public.kitware.com/Wiki/index.php?title=ITK/Code_Review_Check_List&diff=41686
ITK/Code Review Check List
2011-07-14T17:41:59Z
<p>Thewtex: /* Code Review Check List */</p>
<hr />
<div>'''todo''': Merge this page with the [[ITK_Release_4/Modularization/Code_Reviews/Checklist|ITKv4 Code Review Checklist]]<br />
<br />
= Code Review Check List =<br />
<br />
The following is the list of coding style issues that must be verified on every class and file during a code review.<br />
<br />
* Filename must match class name<br />
* All files must have the [[ITK Copyright Header|Copyright Header]] at the top.<br />
* #define for class name in the .h and .txx files. __classname_h and __classname_txx<br />
* Brief class doxygen description<br />
* namespace itk<br />
* Complete class doxygen description<br />
* Classes that use SmartPointers must have<br />
** Constructor/Destructor protected<br />
** Copy Constructor : private and not implemented<br />
** Operator= : private and not implemented<br />
* No acronyms in class name or method names<br />
* no unnecessary headers #included<br />
* Justify every public method<br />
* All member variables must be private<br />
* Use Set/Get Macros (macros should call Modified() to ensure pipeline data is updated)<br />
* If deriving from itkObject<br />
** Use New macro<br />
** declare SmartPointer<T> as Pointer<br />
** declare SmartPointer<const T> as ConstPointer<br />
** declare Self<br />
** declare Superclass<br />
** use TypeMacro<br />
** Have PrintSelf() method and print all the member variables<br />
* 100% code coverage (see dashboard)<br />
* All 'non-const' method must justify why they are not 'const'<br />
* Any information that is printed or displayed has to be legible to human eyes<br />
* Respect Coding Style as specified in the document Insight/Documentation/Style.pdf<br />
* Must pass the test of KWStyle<br />
* [Style] In the .txx files of template classes, the first 5 lines in the declaration of methods should be:<br />
** 1) template<br />
** 2) return type<br />
** 3) class name<br />
** 4) ::method name<br />
** 5) the opening bracket<br />
<br />
For example:<br />
<br />
template < template_arguments ><br />
return_type<br />
classname< template_arguments ><br />
::methodsName( method_arguments )<br />
{<br />
// indentation of two spaces<br />
// for the first line of code<br />
int k = 0;<br />
}<br />
<br />
In many cases line (2) uses a trait from the templated class and therefore becomes:<br />
<br />
typename classname< template_arguments >::trait<br />
<br />
= Running KWStyle =<br />
<br />
== In a single file ==<br />
<br />
KWStyle -xml ITK.kws.xml itkQuadEdgeMeshTest1.cxx -v<br />
<br />
== In all the repository ==<br />
<br />
make StyleCheck<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/Release_4/Modularization/Code_Reviews/Checklist&diff=41172
ITK/Release 4/Modularization/Code Reviews/Checklist
2011-06-26T02:59:06Z
<p>Thewtex: /* Coding Style */</p>
<hr />
<div>This page defines the check list to be used by reviewers during the process of reviewing the files in ITKv4.<br />
<br />
__TOC__<br />
<br />
= Major Topics =<br />
<br />
The reviewer will verify the file for compliance with the following major topics<br />
<br />
* Coding Style<br />
* Const correctness<br />
* Mini-Pipelines<br />
* Progress Reporting<br />
* Multi-Threading<br />
* Member variables holding to memory<br />
<br />
The following sections specify the details to be evaluated with each one of these major topics.<br />
<br />
= Coding Style =<br />
<br />
Despite the fact that coding style is verified regularly with KStyle, there are still many details that escape that verification. The following list specifies what elements must be verified by the reviewer.<br />
<br />
* Filename must match class name<br />
* Files must contain a single class<br />
* Implementation of methods must be in the .txx or .cxx files, not the .h files<br />
* All files must have the [[ITK Copyright Header|Copyright Header]] at the top.<br />
* #define for class name in the .h and .txx files. __classname_h and __classname_txx<br />
* Doxygen documentation<br />
** Brief class doxygen description<br />
** Complete class doxygen description<br />
** make sure there is: \ingroup ITK-Module-Name (Module-Name matching the module it belongs, else ModuleInDoxygenGroup will fail) <br />
* namespace itk<br />
* Classes that use SmartPointers must have<br />
** Constructor/Destructor protected<br />
** Copy Constructor : private and not implemented<br />
** Operator= : private and not implemented<br />
* No acronyms in class name or method names<br />
* No unnecessary headers #included<br />
* Justify every public method<br />
* All member variables must be private<br />
* Use Set/Get Macros (macros should call Modified() to ensure pipeline data is updated)<br />
* If deriving from itkObject<br />
** Use New macro<br />
** declare SmartPointer<T> as Pointer<br />
** declare SmartPointer<const T> as ConstPointer<br />
** declare Self<br />
** declare Superclass<br />
** use TypeMacro<br />
** Have PrintSelf() method and print all the member variables<br />
* 100% code coverage<br />
** Run Utilities/Maintenance/computeCodeCoverageLocallyForOneTest.sh<br />
** Check dashboard<br />
* Any information that is printed or displayed has to be legible to human eyes<br />
* Respect Coding Style as specified in the document Insight/Documentation/Style.pdf<br />
* Must pass the test of KWStyle<br />
* [Style] In the .txx files of template classes, the first 5 lines in the declaration of methods should be:<br />
** 1) template<br />
** 2) return type<br />
** 3) class name<br />
** 4) ::method name<br />
** 5) the opening bracket<br />
<br />
For example:<br />
<br />
template < template_arguments ><br />
return_type<br />
classname< template_arguments ><br />
::methodsName( method_arguments )<br />
{<br />
// indentation of two spaces<br />
// for the first line of code<br />
int k = 0;<br />
}<br />
<br />
In many cases line (2) uses a trait from the templated class and therefore becomes:<br />
<br />
typename classname< template_arguments >::trait<br />
<br />
== Running KWStyle ==<br />
<br />
=== In a single file ===<br />
<br />
KWStyle -xml ITK.kws.xml itkQuadEdgeMeshTest1.cxx -v<br />
<br />
=== In all the repository ===<br />
<br />
make StyleCheck<br />
<br />
= Const Correctness =<br />
<br />
* Get method must be const<br />
* SetInput methods must take "const raw pointers" as input<br />
* GetOutput methods must give const raw pointers as output<br />
* All non-trivial types must be passed by reference (except for DataObjects, that must be passed by const raw pointers).<br />
* const_cast must only be used inside of the SetInput() method, to overcome the lack of const-correctness in the pipeline.<br />
** overriding GenerateInputRequestedRegion requires const_cast on the inputs<br />
** any other uses of const_cast must be scrutinized<br />
<br />
= Mini-Pipelines =<br />
<br />
Filters that implement a mini-pipeline with N internal filters should<br />
<br />
* Examine that this method is consistent with all filters in mini-pipeline:<br />
<br />
void EnlargeOutputRequestedRegion(DataObject *output)<br />
<br />
* Call ReleaseDataFlag() in the first N-1 filters of its mini-pipeline<br />
* For the filters that can run in-place, set them to do so. Except the first filter.<br />
* Use the ProgressAccumulator in order to compose a progress report from each one of the internal filters<br />
* Use GraftOutput() in the following way at the end of the GenerateData() method<br />
<br />
caster->GraftOutput( outputImage );<br />
caster->Update();<br />
this->GraftOutput( caster->GetOutput() );<br />
<br />
= Region Management =<br />
<br />
All Filters (supporting streaming or not)<br />
<br />
* In their GenerateData() method they should:<br />
** Only process the Requested Region of the output<br />
** Never access more than the Buffered region of the input<br />
<br />
<br />
If a filter does not support streaming it should:<br />
* Override EnlargeOuputRequestedRegion, and call SetRequestedRegionToLargestPossibleRegion on it's input<br />
* It does not need to override the GenerateInputRequestedRegion<br />
** unless the filter is manipulating the size, or geometry<br />
<br />
= Streaming =<br />
<br />
Filters that are intended for supporting streaming must consider that:<br />
<br />
* The RequestedRegion can be smaller than the LargestPossibleRegion. <br />
<br />
As such, the boundary of the output BufferedRegion may not be a boundary condition and thus the filter writer must implement GenerateInputRequestedRegion to ensure that any pixels outside the output BufferedRegion that are within the LargestPossibleRegion that are needed for proper computation are added to the input RequestedRegion.<br />
<br />
= Progress Reporting =<br />
<br />
Filter should report <br />
<br />
* ProgressEvents or<br />
* IterationEvents<br />
<br />
If they report ProgressEvents, they should use the ProgressReporter class as<br />
<br />
ProgressReporter progress( this, threadId, outputRegionForThread.GetNumberOfPixels() );<br />
<br />
while( ... )<br />
{<br />
// do stuff<br />
progress.CompletedPixel();<br />
}<br />
<br />
If the filter implements a mini-pipeline, then the progress reporting should be done using the ProgressAccumulator inside the GenerateData() method as:<br />
<br />
ProgressAccumulator::Pointer progress = ProgressAccumulator::New();<br />
progress->SetMiniPipelineFilter(this);<br />
<br />
progress->RegisterInternalFilter( internalFilter01, fraction1 );<br />
progress->RegisterInternalFilter( internalFilter02, fraction2 );<br />
progress->RegisterInternalFilter( internalFilter03, fraction3 );<br />
progress->RegisterInternalFilter( internalFilter04, fraction4 );<br />
<br />
<br />
where internalFilterX is each one of the filters in the mini-pipeline, and fractionX are number that add up to 1.0, and represent the fraction of time that each one of the filters will contribute to the total computation. This fraction is assigned as an estimation, and doesn't have to be perfect, just aim for the correct order of magnitude.<br />
<br />
<br />
= Multi-Threading =<br />
<br />
Filters that are multi-threaded, must implement the method:<br />
<br />
void ThreadedGenerateData(<br />
const OutputImageRegionType & outputRegionForThread,<br />
ThreadIdType threadId)<br />
<br />
and can (but do not have to) implement the methods<br />
<br />
void BeforeThreadedGenerateData()<br />
void AfterThreadedGenerateData()<br />
<br />
These two methods are intended to implement the preparation of variables that host computations on every thread, and to consolidate that information once the threads have completed their work.<br />
<br />
The filter should not implement the GenerateData() method, unless it needs anything different from what is provided in the default method in<br />
<br />
ImageSource::GenerateData()<br />
<br />
that essentially does:<br />
<br />
void GenerateData()<br />
{<br />
this->AllocateOutputs();<br />
this->BeforeThreadedGenerateData();<br />
<br />
ThreadStruct str;<br />
str.Filter = this;<br />
<br />
this->GetMultiThreader()->SetNumberOfThreads( this->GetNumberOfThreads() );<br />
this->GetMultiThreader()->SetSingleMethod(this->ThreaderCallback, &str);<br />
<br />
this->GetMultiThreader()->SingleMethodExecute();<br />
<br />
this->AfterThreadedGenerateData();<br />
}<br />
<br />
Any variables that need to be written into during the execution of the ThreadedGenerateData() method, must be put into an array, to provide an independent instance to every thread. This preparation can be done in the BeforeThreadedGenerateData() method, and the consolidation of values in the arrays can be done in the AfterThreadedGenerateData() method.<br />
<br />
== Example ==<br />
<br />
For an example, look at the classes<br />
<br />
* itkStatisticsImageFilter<br />
* itkUnaryFunctorFilter<br />
<br />
= Member Variables =<br />
<br />
Filters should not use member variables to hold to their inputs or outputs.<br />
<br />
The inputs and outputs should be maintained by the methods<br />
<br />
SetInput(const InputImageType *input)<br />
{<br />
this->ProcessObject::SetNthInput( 0,const_cast< InputImageType * >( input ) );<br />
}<br />
<br />
<br />
GetInput( unsigned int idx ) <br />
{<br />
return static_cast< const TInputImage * >( this->ProcessObject::GetInput(idx) );<br />
}<br />
<br />
<br />
GetOutput()<br />
{<br />
if ( this->GetNumberOfOutputs() < 1 )<br />
{<br />
return 0;<br />
}<br />
<br />
return static_cast< TOutputImage * >( this->ProcessObject::GetOutput(0) );<br />
}<br />
<br />
<br />
In most cases, these methods are already provided by super classes. In particular by<br />
<br />
* itk::ImageSource<br />
* itk::ImageToImageFilter<br />
<br />
<br />
<br />
= Notes =<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/Release_4/Modularization/Code_Reviews/Checklist&diff=41171
ITK/Release 4/Modularization/Code Reviews/Checklist
2011-06-26T02:45:46Z
<p>Thewtex: /* Coding Style */ code coverage script</p>
<hr />
<div>This page defines the check list to be used by reviewers during the process of reviewing the files in ITKv4.<br />
<br />
__TOC__<br />
<br />
= Major Topics =<br />
<br />
The reviewer will verify the file for compliance with the following major topics<br />
<br />
* Coding Style<br />
* Const correctness<br />
* Mini-Pipelines<br />
* Progress Reporting<br />
* Multi-Threading<br />
* Member variables holding to memory<br />
<br />
The following sections specify the details to be evaluated with each one of these major topics.<br />
<br />
= Coding Style =<br />
<br />
Despite the fact that coding style is verified regularly with KStyle, there are still many details that escape that verification. The following list specifies what elements must be verified by the reviewer.<br />
<br />
* Filename must match class name<br />
* Files must contain a single class<br />
* Implementation of methods must be in the .txx or .cxx files, not the .h files<br />
* All files must have the [[ITK Copyright Header|Copyright Header]] at the top.<br />
* #define for class name in the .h and .txx files. __classname_h and __classname_txx<br />
* Doxygen documentation<br />
** Brief class doxygen description<br />
** Complete class doxygen description<br />
** make sure there is: \ingroup ITK-Module-Name (Module-Name matching the module it belongs, else ModuleInDoxygenGroup will fail) <br />
* namespace itk<br />
* Classes that use SmartPointers must have<br />
** Constructor/Destructor protected<br />
** Copy Constructor : private and not implemented<br />
** Operator= : private and not implemented<br />
* No acronyms in class name or method names<br />
* No unnecessary headers #included<br />
* Justify every public method<br />
* All member variables must be private<br />
* Use Set/Get Macros (macros should call Modified() to ensure pipeline data is updated)<br />
* If deriving from itkObject<br />
** Use New macro<br />
** declare SmartPointer<T> as Pointer<br />
** declare SmartPointer<const T> as ConstPointer<br />
** declare Self<br />
** declare Superclass<br />
** use TypeMacro<br />
** Have PrintSelf() method and print all the member variables<br />
* 100% code coverage<br />
** Run Utilities/Maintenance/computeCodeCoverageLocallyForOneTest.sh<br />
** Checks dashboard<br />
* Any information that is printed or displayed has to be legible to human eyes<br />
* Respect Coding Style as specified in the document Insight/Documentation/Style.pdf<br />
* Must pass the test of KWStyle<br />
* [Style] In the .txx files of template classes, the first 5 lines in the declaration of methods should be:<br />
** 1) template<br />
** 2) return type<br />
** 3) class name<br />
** 4) ::method name<br />
** 5) the opening bracket<br />
<br />
For example:<br />
<br />
template < template_arguments ><br />
return_type<br />
classname< template_arguments ><br />
::methodsName( method_arguments )<br />
{<br />
// indentation of two spaces<br />
// for the first line of code<br />
int k = 0;<br />
}<br />
<br />
In many cases line (2) uses a trait from the templated class and therefore becomes:<br />
<br />
typename classname< template_arguments >::trait<br />
<br />
== Running KWStyle ==<br />
<br />
=== In a single file ===<br />
<br />
KWStyle -xml ITK.kws.xml itkQuadEdgeMeshTest1.cxx -v<br />
<br />
=== In all the repository ===<br />
<br />
make StyleCheck<br />
<br />
= Const Correctness =<br />
<br />
* Get method must be const<br />
* SetInput methods must take "const raw pointers" as input<br />
* GetOutput methods must give const raw pointers as output<br />
* All non-trivial types must be passed by reference (except for DataObjects, that must be passed by const raw pointers).<br />
* const_cast must only be used inside of the SetInput() method, to overcome the lack of const-correctness in the pipeline.<br />
** overriding GenerateInputRequestedRegion requires const_cast on the inputs<br />
** any other uses of const_cast must be scrutinized<br />
<br />
= Mini-Pipelines =<br />
<br />
Filters that implement a mini-pipeline with N internal filters should<br />
<br />
* Examine that this method is consistent with all filters in mini-pipeline:<br />
<br />
void EnlargeOutputRequestedRegion(DataObject *output)<br />
<br />
* Call ReleaseDataFlag() in the first N-1 filters of its mini-pipeline<br />
* For the filters that can run in-place, set them to do so. Except the first filter.<br />
* Use the ProgressAccumulator in order to compose a progress report from each one of the internal filters<br />
* Use GraftOutput() in the following way at the end of the GenerateData() method<br />
<br />
caster->GraftOutput( outputImage );<br />
caster->Update();<br />
this->GraftOutput( caster->GetOutput() );<br />
<br />
= Region Management =<br />
<br />
All Filters (supporting streaming or not)<br />
<br />
* In their GenerateData() method they should:<br />
** Only process the Requested Region of the output<br />
** Never access more than the Buffered region of the input<br />
<br />
<br />
If a filter does not support streaming it should:<br />
* Override EnlargeOuputRequestedRegion, and call SetRequestedRegionToLargestPossibleRegion on it's input<br />
* It does not need to override the GenerateInputRequestedRegion<br />
** unless the filter is manipulating the size, or geometry<br />
<br />
= Streaming =<br />
<br />
Filters that are intended for supporting streaming must consider that:<br />
<br />
* The RequestedRegion can be smaller than the LargestPossibleRegion. <br />
<br />
As such, the boundary of the output BufferedRegion may not be a boundary condition and thus the filter writer must implement GenerateInputRequestedRegion to ensure that any pixels outside the output BufferedRegion that are within the LargestPossibleRegion that are needed for proper computation are added to the input RequestedRegion.<br />
<br />
= Progress Reporting =<br />
<br />
Filter should report <br />
<br />
* ProgressEvents or<br />
* IterationEvents<br />
<br />
If they report ProgressEvents, they should use the ProgressReporter class as<br />
<br />
ProgressReporter progress( this, threadId, outputRegionForThread.GetNumberOfPixels() );<br />
<br />
while( ... )<br />
{<br />
// do stuff<br />
progress.CompletedPixel();<br />
}<br />
<br />
If the filter implements a mini-pipeline, then the progress reporting should be done using the ProgressAccumulator inside the GenerateData() method as:<br />
<br />
ProgressAccumulator::Pointer progress = ProgressAccumulator::New();<br />
progress->SetMiniPipelineFilter(this);<br />
<br />
progress->RegisterInternalFilter( internalFilter01, fraction1 );<br />
progress->RegisterInternalFilter( internalFilter02, fraction2 );<br />
progress->RegisterInternalFilter( internalFilter03, fraction3 );<br />
progress->RegisterInternalFilter( internalFilter04, fraction4 );<br />
<br />
<br />
where internalFilterX is each one of the filters in the mini-pipeline, and fractionX are number that add up to 1.0, and represent the fraction of time that each one of the filters will contribute to the total computation. This fraction is assigned as an estimation, and doesn't have to be perfect, just aim for the correct order of magnitude.<br />
<br />
<br />
= Multi-Threading =<br />
<br />
Filters that are multi-threaded, must implement the method:<br />
<br />
void ThreadedGenerateData(<br />
const OutputImageRegionType & outputRegionForThread,<br />
ThreadIdType threadId)<br />
<br />
and can (but do not have to) implement the methods<br />
<br />
void BeforeThreadedGenerateData()<br />
void AfterThreadedGenerateData()<br />
<br />
These two methods are intended to implement the preparation of variables that host computations on every thread, and to consolidate that information once the threads have completed their work.<br />
<br />
The filter should not implement the GenerateData() method, unless it needs anything different from what is provided in the default method in<br />
<br />
ImageSource::GenerateData()<br />
<br />
that essentially does:<br />
<br />
void GenerateData()<br />
{<br />
this->AllocateOutputs();<br />
this->BeforeThreadedGenerateData();<br />
<br />
ThreadStruct str;<br />
str.Filter = this;<br />
<br />
this->GetMultiThreader()->SetNumberOfThreads( this->GetNumberOfThreads() );<br />
this->GetMultiThreader()->SetSingleMethod(this->ThreaderCallback, &str);<br />
<br />
this->GetMultiThreader()->SingleMethodExecute();<br />
<br />
this->AfterThreadedGenerateData();<br />
}<br />
<br />
Any variables that need to be written into during the execution of the ThreadedGenerateData() method, must be put into an array, to provide an independent instance to every thread. This preparation can be done in the BeforeThreadedGenerateData() method, and the consolidation of values in the arrays can be done in the AfterThreadedGenerateData() method.<br />
<br />
== Example ==<br />
<br />
For an example, look at the classes<br />
<br />
* itkStatisticsImageFilter<br />
* itkUnaryFunctorFilter<br />
<br />
= Member Variables =<br />
<br />
Filters should not use member variables to hold to their inputs or outputs.<br />
<br />
The inputs and outputs should be maintained by the methods<br />
<br />
SetInput(const InputImageType *input)<br />
{<br />
this->ProcessObject::SetNthInput( 0,const_cast< InputImageType * >( input ) );<br />
}<br />
<br />
<br />
GetInput( unsigned int idx ) <br />
{<br />
return static_cast< const TInputImage * >( this->ProcessObject::GetInput(idx) );<br />
}<br />
<br />
<br />
GetOutput()<br />
{<br />
if ( this->GetNumberOfOutputs() < 1 )<br />
{<br />
return 0;<br />
}<br />
<br />
return static_cast< TOutputImage * >( this->ProcessObject::GetOutput(0) );<br />
}<br />
<br />
<br />
In most cases, these methods are already provided by super classes. In particular by<br />
<br />
* itk::ImageSource<br />
* itk::ImageToImageFilter<br />
<br />
<br />
<br />
= Notes =<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=IGSTK&diff=41169
IGSTK
2011-06-26T02:41:11Z
<p>Thewtex: Undo revision 41165 by Thietkeweb (talk)</p>
<hr />
<div>IGSTK Is an Image Guided Surgery Toolkit<br />
<br />
Please check [http://public.kitware.com/IGSTKWIKI IGSTK Wiki] for more information.</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/Gerrit/Reviewers&diff=41166
ITK/Gerrit/Reviewers
2011-06-25T23:48:22Z
<p>Thewtex: /* Authors of the files you edited */</p>
<hr />
<div>= Reviewers List =<br />
<br />
== Authors of the files you edited ==<br />
<br />
git log --follow --format='%aN' -- $(git diff --name-only ..master) | sort | uniq<br />
<br />
== From Gerrit ==<br />
<br />
* http://review.source.kitware.com/#admin,group,5<br />
<br />
== Explicit List ==<br />
<br />
* Alex. Gouaillard<br />
* Arnaud Gelas<br />
* Bill Lorensen<br />
* Brad King<br />
* Bradley Lowekamp<br />
* Casey Goodlett<br />
* Cory Quammen<br />
* Dan Mueller<br />
* Daniel Blezek<br />
* Gabe Hart<br />
* Gaëtan Lehmann<br />
* Hans J. Johnson<br />
* Jim Miller<br />
* Karthik Krishnan<br />
* Luis Ibanez<br />
* Marcus D. Hanwell<br />
* Mark Roden<br />
* Mathieu Malaterre<br />
* Wesley D. Turner<br />
* Xiaoxiao Liu<br />
* Kent Williams<br />
* Brian Avants<br />
* Nick Tustison<br />
* Sean McBride<br />
<br />
= Reviewer Expertise Index =<br />
<br />
<br />
== Architecture ==<br />
<br />
*Luis Ibanez<br />
<br />
== DICOM ==<br />
<br />
*Mathieu Malaterre<br />
*Mark Roden<br />
<br />
== Meshes ==<br />
<br />
* Arnaud Gelas<br />
* Alex Gouaillard<br />
* Luis Ibanez<br />
<br />
== QuadEdgeMesh ==<br />
<br />
*Arnaud Gelas<br />
*Alex Gouaillard<br />
<br />
== Modularization ==<br />
<br />
* Xiaoxiao Liu<br />
* Luis Ibanez<br />
<br />
== Level Sets ==<br />
<br />
*Arnaud Gelas<br />
<br />
== Image Filtering ==<br />
<br />
*Luis Ibanez<br />
*Dan Mueller<br />
*Wesley Turner<br />
<br />
== Image IO ==<br />
<br />
*Luis Ibanez<br />
*Bradley Lowekamp<br />
<br />
== Image Registration ==<br />
<br />
*Luis Ibanez<br />
*Dan Mueller<br />
*Brian Avants<br />
*Bradley Lowekamp<br />
*Xiaoxiao Liu<br />
*Casey Goodlett<br />
*Nick Tustison<br />
<br />
== Image Segmentation ==<br />
<br />
*Luis Ibanez<br />
*Dan Mueller<br />
*Xiaoxiao Liu<br />
*Cory Quammen<br />
*Wesley Turner<br />
<br />
== Streaming ==<br />
<br />
*Bradley Lowekamp<br />
<br />
== FEM ==<br />
<br />
*Brian Avants<br />
*Nick Tustison<br />
<br />
= Compilers =<br />
<br />
== Mingw (gcc version ?) ==<br />
<br />
* Bill Lorensen<br />
<br />
== VS 10 Express ==<br />
<br />
* Alex. Gouaillard ( +WindowsSDK7.1 for 64 bits compilation ) ( XP Pro, Win 7 )<br />
<br />
== VS 9 ==<br />
<br />
* Wesley Turner<br />
* Luis Ibanez<br />
<br />
== VS 8 ==<br />
<br />
* Luis Ibanez<br />
<br />
== llvm-gcc-4.2.1 ==<br />
<br />
* Kent Williams (Mac OS X, build 2326.10)<br />
* Sean McBride (Mac OS X, build 5658)<br />
<br />
== clang ==<br />
<br />
* Sean McBride (Mac OS X)<br />
* Arnaud Gelas (Linux)<br />
<br />
== Gcc 4.5.1 ==<br />
<br />
* Arnaud Gelas (Fedora 14)<br />
<br />
== Gcc 4.4 ==<br />
<br />
* Luis Ibanez (Ubuntu 9.04)<br />
* Bill Lorensen (Fedora 13)<br />
* Kent Williams (Red Hat)<br />
<br />
== Gcc 4.2.1 ==<br />
<br />
* Cory Quammen (Mac OS X, build 5664)<br />
* Alex. Gouaillard (Mac OS X, build 5664)<br />
* Kent Williams (Mac OS X, build 5664)<br />
* Sean McBride (Mac OS X, build 5664)<br />
<br />
== Gcc 4.1 ==<br />
<br />
* Luis Ibanez (Debian)<br />
* Alex. Gouaillard (Ubuntu)<br />
<br />
== Gcc 4.0.1 ==<br />
<br />
* Kent Williams (Mac OS X, build 5664)<br />
<br />
== Gcc 3.4 ==<br />
<br />
* Luis Ibanez (Debian)<br />
* Kent Williams (Red Hat)<br />
<br />
= Tools =<br />
<br />
== KWStyle ==<br />
<br />
* Brad Davis<br />
* Julien Jomier<br />
* Hans Johnson<br />
* Brad Lowekamp<br />
<br />
== CMake / CTest / CPack ==<br />
<br />
* Dave Cole<br />
* Marcus D. Hanwell<br />
* Bill Hoffman<br />
* Brad King<br />
<br />
= Operating Systems =<br />
<br />
== Mac OS X ==<br />
<br />
* Sean McBride</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=CMake&diff=36727
CMake
2011-01-24T22:19:26Z
<p>Thewtex: /* Basic Introductions */</p>
<hr />
<div>http://www.cmake.org/cmake/img/CMake-logo-download.jpg<br />
<br />
<!-- documentation manual man information help tutorial --><br />
Welcome to CMake, the cross-platform, open-source make system. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is quite sophisticated: it is possible to support complex environments requiring system configuration, pre-processor generation, code generation, and template instantiation.<br />
<br />
You will find here not only documentation for CMake, but also for CPack and CTest.<br />
<br />
=CMake=<br />
<br />
==Primary Resources - Look here first! ==<br />
* Where can I [http://www.cmake.org/HTML/Download.html download CMake]?<br />
* [http://www.cmake.org/HTML/Documentation.html CMake Documentation]<br />
* [[CMake Useful Variables|Useful CMake Variables]]<br />
* [[CMake FAQ| FAQ (Frequently asked questions)]]<br />
* [http://www.cmake.org/mailman/listinfo/cmake CMake Mailing List] (for searchable archives see [[CMake_FAQ#Where_can_I_find_searchable_CMake_Mailing_Archives | CMake FAQ ]])<br />
* [[CMake_2.6_Notes|CMake 2.6 Notes]]<br />
* ''Getting Started With CMake'' Screencasts @[http://playcontrol.net/ewing/screencasts/getting_started_with_cmake_.html PlayControl.net]<br />
<br />
==Development Topics==<br />
* [[CMake Cross Compiling| Cross compiling]]<br />
* [[CMake RPATH handling|RPATH handling]]<br />
* [[CMake/Assembler|Assembler Support]]<br />
* [[CMake Editors Support|Editors/IDEs with CMake syntax support]]<br />
* [[CMake Generator Specific Information|Docs for Specific Project Generators]] (Eclipse, KDevelop3, CodeBlocks, Makefile)<br />
* [[CMake User Contributed Macros| Contributed macros]]<br />
* [[CMake:Module Maintainers|Module Maintainers]]<br />
* [[CMake Platform Dependent Issues|Platform Dependent Information]]<br />
* [[CMake Released Versions|Documentation for previous releases]]<br />
* [[CMake Version Compatibility Matrix|Matrix for checking backwards-compatibility of current features]]<br />
<br />
==Tutorials==<br />
<br />
===Basic Introductions===<br />
* [http://www.cmake.org/HTML/Examples.html A Simple CMake Example]<br />
* [http://www.linuxjournal.com/article/6700 Cross-Platform Software Development Using CMake]<br />
* [http://clubjuggler.livejournal.com/138364.html CMake: The Cross Platform Build System]<br />
* [http://www.elpauer.org/stuff/learning_cmake.pdf "Learning CMake"] - Slides of a CMake workshop, including CPack, CTest and CDash<br />
* [http://www.visgraf.impa.br/seminar/slides/rodlima_cmake_presentation.pdf "CMake: Behind the Scenes of Code Development"] - Slides of an introductory talk/tutorial about CMake and its benefits<br />
* [http://snikt.net/index.php/2010/04/01/howto-use-cmake-with-cc-projects Howto use cmake with C/C++ projects] A simple walk-through about creating a cmake C project including integration of subversion, doxygen and how-to add optional project parts as configurables<br />
* [http://hackerwithin.org/thw/plugin_wiki/page/buildsystems The Hacker Within: Build Systems] Explains why and how to use build systems with a CMake example.<br />
* Syntax of the CMake language<br />
** [http://www.cmake.org/HTML/syntax.html A quick introduction to CMake syntax]<br />
** [[CMake/Language Syntax | Language syntax]] (wiki page)<br />
** [[CMake:VariablesListsStrings| On variables, lists, strings, maps, regexps, etc.]]<br />
* How CMake simplifies the build process by Bruno Abinader<br />
** [http://cabledogs.org/abinader/2009/12/07/how-cmake-simplifies-the-build-process-part-1-basic-build-system/ Part 1 - Basic build system]<br />
** [http://cabledogs.org/abinader/2009/12/09/how-cmake-simplifies-the-build-process-part-2-advanced-build-system/ Part 2 - Advanced build system]<br />
* [http://rachid.koucha.free.fr/tech_corner/cmake_manual.html Empirical approach to CMAKE] by Rachid Koucha<br />
* [[CMake/Tutorials#CMake_Packages|How to package your project for use by others]]<br />
<br />
===Specific Topics===<br />
* [[CMake:MatlabMex | How to use CMake to create Matlab MEX files]] <br> Describes how to use CMake when developing Matlab Executable (MEX) files for use with The Mathworks Matlab scripting language.<br />
* [[CMake:Eclipse_UNIX_Tutorial | How to use CMake with Eclipse CDT]] <br> Describes how to use CMake with Eclipse CDT.<br />
* [[CMake HowToDoPlatformChecks| How to write platform checks with CMake]]<br>Describes how to implement platform or configure checks with CMake.<br />
<br />
* [[CMake:How_To_Find_Libraries | How to find libraries]] <br>Describes how to use external libraries in a CMake project and how to write your own find modules for libraries that don't already have one.<br />
<br />
* [[CMake HowToFindInstalledSoftware| How to find installed software with CMake]]<br>Describes how to search for and then use software packages with CMake. (should be merged with the page above)<br />
<br />
* [[CMake:HowToUseExistingOSXFrameworks | How to find and use existing frameworks on OS X]]<br> A quick example to help OS X users find frameworks automatically.<br />
<br />
* [[CMake:How To Build Qt4 Software | How to build Qt4 software with CMake]]<br />
<br />
* [[CMake:How To Build KDE4 Software | How to build KDE4 software with CMake]]<br />
<br />
* [[CMake:How To Process Lots Of Input Files | How to process lots of input files with a processor built by CMake]]<br />
<br />
* [http://qtnode.net/wiki?title=Qt_with_cmake Qt with CMake] <br>Explains how to use CMake to build software with Qt4, Qt3 and KDE3.<br />
<br />
* [http://www.wxwidgets.org/wiki/index.php/CMake How to use CMake for building software with wxWidgets ]<br />
<br />
* [http://www.linuxdevices.com/articles/AT6762290643.html Building eCos applications with CMake]<br />
<br />
* [[CMakeForFLTK| Using CMake to build an FLTK application]]<br />
<br />
* [[BuildingWinDLL| How to export symbols from a Windows DLL for the non-Windows Developer]]<br />
<br />
* [[VSConfigSpecificSettings| Configuration Specific Settings for Visual Studio Generated Project Files]]<br />
<br />
* [[BundleUtilitiesExample| How to use the 'BundleUtilities' to deploy your OS X Application. Example uses Qt 4.]]<br />
<br />
* [[CMakeForFortranExample|How to write a simple CMakeLists.txt for Fortran code]]<br />
<br />
* [[CMakeEmulateMakeCheck|How to emulate GNU Autotools 'make check']]<br />
<br />
* [[CustomCommandCustomTargetInstall|A toy model for add_custom_command and add_custom_target]]<br />
<br />
* [[CMake:OSX_InterfaceBuilderFiles|Working with OS X Interface Builder Files]]<br />
<br />
===Recipes===<br />
* [[RecipeAppendVersionNumberToInstallpath|Append the Version Number to the Install path]]<br />
<br />
* [[RecipeInstallToALocalFolderForTesting|Install to a local folder in the build dir for testing]]<br />
<br />
* [[RecipeAddUninstallTarget|Adding an uninstall target to your project]]<br />
<br />
* [[RecipeAddSoVersionToDLLs|Appending the SO version to DLLs]]<br />
<br />
==Converters from other buildsystems to CMake==<br />
<br />
All converters listed here are not "complete", i.e. the generated CMake files are not 100% finished, in all cases some work is left for the developer.<br />
<br />
====automake/autotools/autoconf====<br />
* [http://websvn.kde.org/trunk/KDE/kdesdk/cmake/scripts/ am2cmake (requires Ruby) ] Converts automake/autotools/libtool based projects to CMake, specialized in converting from KDE 3 to KDE 4, should also work for others. This one has been used for converting the KDE buildsystem to CMake.<br />
<br />
* [http://emanuelgreisen.dk/stuff/kdevelop_am2cmake.php.tgz Alternative Automake2CMake (requires PHP)] Converts KDevelop projects that use automake to CMake.<br />
<br />
* [[GccXmlAutoConfHints|Converting autoconf tests]]<br />
<br />
====qmake====<br />
* [[CMake:ConvertFromQmake | qmake converter (requires Ruby)]] Converts projects that use Qt's qmake.<br />
<br />
====Visual Studio====<br />
* [http://vcproj2cmake.sf.net vcproj2cmake.rb (requires Ruby) SourceForge project] Creates '''and maintains''' CMakeLists.txt files by extracting info from Visual Studio project files. Elaborate script for development side-by-side the updated original static .vcproj files, supports script hooks and powerful definition mappings. Patches and new project members very welcome. Older script versions below:<br />
** [http://www.eskilson.se/vcproj2cmake.rb Original vcproj2cmake.rb version (requires Ruby)] <br />
** Slightly newer version here [http://dgwarp.hd.free.fr/vcproj2cmake.rb vcproj2cmake.rb], see:[[User_talk:Dweeves]] for details<br />
* [http://nberserk.wordpress.com/2010/11/25/powershell-script-for-converting-vcproj-to-cmakelists-txt vcproj2cmake.ps1(PowerShell version)] Creates CMakeLists.txt. it supports vcproj configuration and detect 'exclude from build' option<br />
* [http://sourceforge.net/projects/folders4cmake/ folders4cmake (requires Java)] Use Visual Studio project files to generate corresponding "source_group" information that you can use inside your own CMake scripts. Supports Visual Studio 9/10 project files (full round-trip possible).<br />
<br />
====Basic CMakeLists.txt from-scratch-generator====<br />
* [http://websvn.kde.org/trunk/KDE/kdesdk/cmake/scripts/ gencmake (requires Ruby) ] Creates basic CMakeLists.txt files from looking at the existing files.<br />
* [http://www.vanvelzensoftware.com/postnuke/index.php?name=Downloads&req=viewdownload&cid=7 CMakeListGenerator (Win32) ] Creates complete CMakeLists.txt files as described in the [https://gucef.svn.sourceforge.net/svnroot/gucef/trunk/tools/CMakeListGenerator/bin/ReleasedBins/6May2010/README.txt README ] using a combination of file and directory structure analysis. Supports resolving dependencies between multiple archives.<br />
<br />
==Success Stories==<br />
<br />
* What are some [[CMake Projects|projects using CMake]]?<br />
* [[CMake:Articles|Articles about CMake]]<br />
* [[Really Cool CMake Features]]<br />
<br />
<br />
==More Topics==<br />
<br />
* [[CMake Fortran Issues|Fortran Issues]]<br />
* [[CMake:For CMake Hackers|For CMake Hackers]]<br />
* [[CMake:Experiments With Lua|Experiments With Lua]]<br />
* [[CMake Performance Tips|Performance Tips]]<br />
* [[CMake:Install Commands| Replacing deprecated INSTALL_FILES, INSTALL_PROGRAMS and INSTALL_TARGETS commands]]<br />
* [[CMake:GNU style example | GNU style directory layout with CMake]]<br />
* [[CMake:OpenTasks| CMake TODO]]<br />
* [[CMake:CreateQtAssistantDocs| Creating Qt Assistant Docs]]<br />
* [[CMake:Static libraries| Writing FindXXX.cmake modules that work with static libraries]]<br />
* [[CMake:Multiple versions| Writing FindXXX.cmake modules that work when multiple versions of packages are installed]]<br />
* [[CMake:Improving Find* Modules ]]<br />
* [[/C Plugins for Loadable Commands/]]<br>For anyone who wonders what the <tt>load_command</tt> command is for.<br />
* [[PC-Lint]] support for CMake<br />
<br />
=CTest=<br />
<br />
===Tutorials===<br />
* [[CMake Testing With CTest|Testing With CTest]]<br>Introduces to testing with CTest, submitting dashboards, and using CMake to add tests to the test system.<br />
<br />
* [[CMake Scripting Of CTest|CTest Scripting]]<br>Describes the scripting with CTest which can significantly simplify and automate testing and submitting dashboards.<br />
<br />
* [[CMake Generating Testing Files|Generating Input Files For CTest]]<br>Describe more in details the concepts behind testing with CTest and also explans how to use CTest without using CMake.<br />
<br />
* [[CTest:Buildserver|Buildmanagement With CTest]]<br>Describes how to setup a central configuration for all CTest scripts.<br />
<br />
===More Information===<br />
* [[CTest:Submission Issues|Configuring CTest Submission Methods]]<br />
* [[CTest:Nightly, Experimental, Continuous|CTest Nightly, Experimental, Continuous, ...]]<br />
* [[CTest:Coverage]]<br />
* [[Media:CTest Running Modes.pdf]]<br />
* [[CTest:FAQ|CTest Frequently asked questions]]<br />
<br />
===More Topics===<br />
* [[CTest:OpenTasks| CTest TODO]]<br />
* [[CTest:TestWithoutBuild| Run tests on machines without building first]]<br />
<br />
=CDash=<br />
* [http://public.kitware.com/Wiki/CDash CDash Wiki].<br />
* [http://public.kitware.com/Wiki/CDash:FAQ CDash FAQ].<br />
<br />
=CPack=<br />
===Tutorials===<br />
* [[CMake:Packaging With CPack|Packaging with CPack]]<br>Introduction to CPack, installing and packaging of software.<br />
* [[CMake:CPackConfiguration|CPack Variables]]<br><br />
* [[CMake:CPackPackageGenerators|Supported package formats]]<br><br />
* [[CMake:CPackWin32NewbiesChecklist|CPack Win32 Newbie Checklist]] <br><br />
* [[CMake:Component_Install_With_CPack|Component Install With CPack]] <br><br />
<br />
===Recipes===<br />
<br />
* [[RecipeAddShortcutToStartMenu|Add an application shortcut to the Start Menu]]<br />
<br />
<br />
{{CMake/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK&diff=36343
ITK
2011-01-08T17:07:05Z
<p>Thewtex: /* ITK Version 4 */</p>
<hr />
<div>= ITK Version 4 =<br />
<br />
This section was added to inform the ITK community of the pending changes to the ITK toolkit that will be taking place over the next 6 months. <br />
<br />
* This work is supported by ARRA funding from the NLM. <br />
* More information is available here: [[ITK Release 4.0]].<br />
* The kick-off meeting for this project took place from [http://visual.nlm.nih.gov/itk/itk2010/agenda.html June 28-July 2 in Bethesda]. <br />
* A beta version of the software will be available by the end of March 2011. <br />
* We welcome the ITK community to comment on the proposed changes.<br />
* The [[Fall ITKv4 2010 Meeting]] will take place November 8-10 in Iowa City.<br />
* The [[Winter_ITKv4_2011_Meeting]] will take place on February 2-3 in Boston.<br />
<br />
= ITK 10th Anniversary =<br />
<br />
== Join us to Celebrate ==<br />
* [[ITK 10th Anniversary Activities| ITK 10th Anniversary Activities]]<br />
<br />
=== Dashboard Fests ===<br />
* [[ITK 10th Anniversary Activities/Dashboard Fest 2.0 | Dashboard Fest 2.0 ]]<br />
* [[ITK 10th Anniversary Activities/Dashboard Fest 1.0 | Dashboard Fest 1.0 ]]<br />
<br />
=== Adopt-A-Bug 2.0 ===<br />
* [[ITK 10th Anniversary Activities/Adopt-A-Bug 2.0 | Adopt-A-Bug 2.0 ]]<br />
<br />
for historical reference:<br />
* [[ITK 10th Anniversary Activities/Adopt-A-Bug 1.0 | Adopt-A-Bug 1.0 ]]<br />
<br />
=== Share your ITK anecdotes ===<br />
* [[ITK 10th Anniversary Activities/ITK Stories and anecdotes |ITK Stories and anecdotes]]<br />
<br />
=== ITK CVS History ===<br />
<br />
* [[ITK 10th Anniversary Activities/ITK CVS History |ITK CVS History]]<br />
<br />
= The Insight Segmentation and Registration Toolkit =<br />
<br />
The National Library of Medicine '''Insight Segmentation and Registration Toolkit''' (ITK) is an open-source software system for medical image processing in two, three and more dimensions. <br />
<br />
This is the ''ITK Wiki'', a collaborative hypertext database of information, documentation and resources.<br />
<br />
== Users ==<br />
<br />
* [[ITK FAQ|Frequently Asked Questions (FAQ)]]<br />
* [[ITK About|About the Insight Toolkit]]<br />
* [[ITK License Information| License Information]]<br />
* [[ITK Insight Applications|Insight Applications]]<br />
* [[ITK Getting Started|Getting Started with ITK]]<br />
<br />
* [[ITK Resources|ITK Resources]]<br />
** [[ITK Documentation|Documentation]]<br />
** [[ITK Tutorials|Tutorials]]<br />
** [[ITK Best of the List|Best of the List]]<br />
** [[ITK Related Software|Related Software]]<br />
** [[ITK Third Party Applications|Third Party Applications]]<br />
** [[ITK/Examples|ITK Examples]]<br />
* [[2006 Survey Summary]]<br />
* [[ITK Upcomings Events|ITK Upcoming Events]]<br />
* [[ITK Procedure for Contributing New Classes and Algorithms|Procedure for Contributing New Classes and Algorithms to ITK]]<br />
<br />
== Releases ==<br />
<br />
* Most Recent Release<br />
** [[ITK Release 3.20|What is new in release 3.20]] [[ITK Release 3.20 Changed From Previous |What changed since 3.18]]<br />
<br />
* Next Recent Releases<br />
** [[ITK Release 3.18|What is new in release 3.18]] [[ITK Release 3.18 Changed From Previous |What changed since 3.16]]<br />
** [[ITK Release 3.16|What is new in release 3.16]] [[ITK Release 3.16 Changed From Previous |What changed since 3.14]]<br />
** [[ITK Release 3.14|What is new in release 3.14]] [[ITK Release 3.14 Changed From Previous |What changed since 3.12]]<br />
** [[ITK Release 3.12|What is new in release 3.12]] [[ITK Release 3.12 Changed From Previous |What changed since 3.10]]<br />
* [[ITK Past Releases| Past Releases]]<br />
* [[ITK Release Schedule|Schedule of upcoming releases]]<br />
* [[ITK Release 4.0|Release 4.0 wish list]]<br />
<br />
== Software Engineering and Development ==<br />
<br />
* [[ITK Coding Style Guide|Style Guide]]<br />
* [[ITK Configuring and Building|Configuring and Building]]<br />
** [[ITK Scripting|Scripting]]<br />
** [[ITK MS Free Tool|MS Free Tool]]<br />
<br />
== Academic Corner ==<br />
<br />
* [[ITK Course Ware|Course Ware]]<br />
* [[ITK File Formats|File Formats]]<br />
* [[ITK Image Registration|Image Registration Topics]]<br />
* [[ITK Image Segmentation|Image Segmentation Topics]]<br />
<br />
== Professional Corner ==<br />
<br />
* [[ITK Job Opportunities|Job Opportunities]]<br />
* [[FDA Guidelines for Software Developement]]<br />
<br />
== Open Society ==<br />
<br />
* [[ITK Patent Bazaar|Patented Algoritms]]<br />
* [[ITK Open Access Science|Open Access Science]]<br />
* [[ITK The Insight Journal|The Insight Journal]]<br />
* [[ITK The Insight Conference|The Insight Conference]]<br />
<br />
== Developers Corner ==<br />
<br />
=== Community Coordination ===<br />
<br />
* [[Telephone Conference Agendas and Minutes]]<br />
* [[ITK Oversight Committee|Oversight Committee]]<br />
* [[ITK Working Groups|Working Groups]]<br />
* [[ITK in Second Life|In Second Life]]<br />
<br />
=== Policies and Procedures ===<br />
<br />
* [[ITK Policies and Procedures]]<br />
** [[ITK Policy and Procedure for Adding Dashboards|Adding Dashboard Submissions]]<br />
** [[Build Instructions for Developers]]<br />
** [[ITK Procedure for Contributing New Classes and Algorithms|Procedure for Contributing New Classes and Algorithms]]<br />
** [[ITK Procedure for Contributing Bug Fixes|Procedure for Contributing Bug Fixes]]<br />
** [[ITK Procedure for Adding a Test|Procedure for Adding a Test]]<br />
** [[ITK Rules for CVS Contributors|Rules for CVS Contributors]]<br />
<br />
=== Statistics ===<br />
<br />
* [http://public.kitware.com/pub/itk/gitstat/ITK/index.html gitstat ITK Statistics (Generated:2010-11-20)]<br />
* [http://www.ohloh.net/projects/3240?p=Insight+Toolkit ITK in Ohloh]<br />
* [[ITK Code Coverage per Developer|Code Coverage per Developer]]<br />
* [http://public.kitware.com/pub/itk/InsightStatCVS/index.html StatCVS ITK Statistics (Generated:2009-11-05)]<br />
* [http://www.itk.org/Testing/StatCVS/ ITK CVS Statistics (Generated: 2/28/08)]<br />
* [[ITK Code Swarms]]<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=Proposals:Refactoring_Statistics_Framework_2007_Migration_Users_Guide&diff=35773
Proposals:Refactoring Statistics Framework 2007 Migration Users Guide
2010-12-20T07:06:33Z
<p>Thewtex: /* Algorithms */ note change in Algorithm namespace.</p>
<hr />
<div>__TOC__<br />
<br />
= How To Migrate your code to the New Statistics Framework =<br />
<br />
== Measurement Containers ==<br />
<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| Sample || Refactored <br />
|| <br />
* Does not derives from Object anymore, now it derives from DataObject.<br />
* typedef for InstanceIdentifier was replaced from unsigned long to std::vector<MeasurementVectorType>::size_type<br />
* Size() method now returns InstanceIdentifier type, before it returned unsigned int, which was inconsistent with the declaration of InstanceIdentifier as unsigned long. The return type of Size() must be the same use for Id of the elements, since it may reach the same maximum number.<br />
* Removing unnecessary const in identifiers<br />
** GetMeasurementVector( const InstanceItentifier & id ) is now GetMeasurementVector( InstanceItentifier id )<br />
** GetFrequency( const InstanceItentifier & id ) is now GetFrequency( InstanceItentifier id )<br />
** SetMeasurementVectorSize( const MeasurementVectorSizeType s ) is now SetMeasurementVectorSize( MeasurementVectorSizeType s )<br />
<br />
||<br />
* const-correctness is now enforced. <br />
* It now derives from DataObject<br />
<br />
|-<br />
| Subsample || Refactored || <br />
* The concept of Indices and InstanceIdentifiers was fixed. InstanceIdentifiers were previously referring to the original Sample, they are now referring to the current Subsample set of measurement vectors. <br />
* It now derives from its template argument. Before, it was deriving from an explicit itk::Statistics::Sample<> whose template argument MeasurementVector was taken as a trait from the Subsample template argument. The current derivation is more consistent with the notion that the Subsample should behave as the sample from which the instances are taken.<br />
* FrequencyType GetFrequencyByIndex(int index) const : was removed. This method becomes obsolete when the inconsistencies between index and identifier are removed.<br />
* InstanceIdentifier GetInstanceIdentifier(int index) const; was removed. This method becomes obsolete when the inconsistencies between index and identifier are removed.<br />
* Iterators<br />
** Common<br />
*** GetInstanceIdentifier() now returns the integer distance to the Begin() element. Before it used to return the index of the instance in the real sample.<br />
*** Iterator& operator+(int n) and Iterator& operator-(int n) were removed. The methods were not used, and they were not consistent with other containers. They were also unsafe, given that with Begin() and End() there is no way to verify if an iterator has moved before Begin() or after End() (unless we rely on being aware of the underlying pointer implementation of the Iterators, which would be a violation of the class encapsulation).<br />
*** Constructor ConstIterator(typename InstanceIdentifierHolder::const_iterator iter, const Self* classSample) was made protected, since this constructor must only be called by the Sample owner class.<br />
<br />
** ConstIterator<br />
*** removing Friendship to the Iterator<br />
** non-const Iterator<br />
*** removing Friendship to the ConstIterator<br />
||<br />
* The basic principle followed now in the design of the Subsample class is that the subsample should behave as a sample. That is, a user should be able to use a Subsample class in any algorithm that is expecting a Sample.<br />
* AddInstance( InsitanceIdentifier Id )<br />
** Now throws an exception if the Id is larger than the Size of the Sample.<br />
** Now it calls Modified()<br />
* Iterators<br />
** Now the non-const Iterator derives from the ConstIterator<br />
** Methods declared protected and purposely not implemented<br />
*** Default constructor: This was a safety risk since it contained uninitialized variables<br />
*** The following method are in this category to enforce const correctness. All of them could have offered ways of removing constness without warning<br />
**** Iterator(const Self * sample);<br />
**** Iterator(typename InstanceIdentifierHolder::const_iterator iter, const Self* classSample);<br />
**** Iterator(const ConstIterator & it);<br />
**** ConstIterator& operator=(const ConstIterator& it);<br />
<br />
|-<br />
| ListSampleBase || Deprecated. The class was unecessary, it was providing only a Search() method that should in fact be provided by a process class, not a data container. <br />
|| <br />
* If you were deriving a class from the itk::Statistics::ListSampleBase, you should now derive directly from the itk::Statistics::Sample class.<br />
* If you were using the Search() method you can get that functionality now from the (refactored) NeighborhoodSampler filter class. Note that the NeighborhoodSampler now allows users to setup a specific distance metric.<br />
||<br />
|-<br />
| ListSample || Refactored || <br />
* It does not derive from the ListSampleBase (since that class was deprecated)<br />
* The iterators API was updated, <br />
** const-correctness is now enforced <br />
** Constructor with instance identifier was moved to the protected section<br />
** ConstIterator does not refer to the non-const Iterator any more.<br />
** Method that allowed to convert ConstIterator into non-const Iterators were removed because they were facilitating the violation of const-correctness<br />
* Various API modifications<br />
** SearchResultVectorType trait was removed. Search is to be implemented as an external algorithm.<br />
** Resize( unsigned int ) now is Resize( InstanceIdentifier ) (keeping 64bits in mind)<br />
** PushBack() before passed the argument by copy, now it passes it as a const reference<br />
** Size() method used to return unsigned int, now it returns InstanceIdentifier (keeping 64bits in mind)<br />
** GetMeasurementVector() instance identifier argument is now passed by copy, since it is just a number<br />
** SetMeasurementVector() now passes InstanceIdentifier by copy, not by const reference<br />
** SetMeasurement() now passes InstanceIdentifier by copy, not by const reference<br />
** GetFrequency() now passes InstanceIdentifier by copy, not by const reference<br />
* GetMeasurementVectorSize() method was removed. The default implementation of the superclass is now functional for this class too.<br />
* The implementation code of most methods was moved to the .txx file.<br />
||<br />
* It derives now from the Sample class directly<br />
* Iterators<br />
** ConstIterator use friendship to the ListSample<br />
** operator-- removed<br />
** non-const Iterator is no longer a friend of the ConstIterator. Instead it derives from the ConstIterator<br />
** The following methods were declared but not implemented, in the protected section with the purpose of preventing const-correctness violations<br />
*** Iterator() constructor<br />
*** Iterator(const Self * sample) constructor of non-const iterator from const sample<br />
*** Iterator( typename InternalDataContainerType::const_iterator iter, InstanceIdentifier iid) constructor of non-const iterator from const sample iterator<br />
*** Iterator(const ConstIterator & it) constructor of non-const iterator from ConstIterator<br />
*** ConstIterator& operator=(const ConstIterator& it) Assignment of ConstIterator to non-const Iterator.<br />
** The followin methods were moved to the protected section, since only the ListSample class (which is a friend) should call them<br />
*** Iterator( typename InternalDataContainerType::iterator iter, InstanceIdentifier iid):ConstIterator( iter, iid )<br />
|-<br />
| MembershipSample || Refactoring in Progress <font style="color: #006400;">'''Luis'''</font> || <br />
*It does not derive from itk::Sample anymore, instead it derives from DataObject.<br />
||<br />
<br />
|-<br />
| Histogram || Refactored same name ||<br />
* Modified by removing the measurement vector size from its template parameters. This Histogram class can now be used for Samples whose measurement vector size is not known at compilation time. The consequence is that now users MUST remember to set the measurement vector size before they call the Initialize() method, otherwise, an Exception will be thrown.<br />
* GetIndex() now take the InstanceIdentifier by copy, not as a const reference.<br />
* Size() doesn't return unsigned int anymore. Instead it returns InstanceIdentifier (64 bits in mind)<br />
* GetSize() now returns a const reference to the Size object.<br />
* GetSize( dimension ) : const specifier of the argument was removed (it was useless)<br />
* GetBinMin( ), GetBinMax(), SetBinMin and SetBinMax()<br />
** const specifier of the dimension was removed (it was useless)<br />
** bin number parameter type "unsigned long" was replaced with InstanceIdentifier<br />
* GetBinMinFromValue( ), GetBinMaxFromValue()<br />
** const specifier of the dimension was removed (it was useless)<br />
* GetDimensionMins( ), GetDimensionMaxs()<br />
** const specifier of the dimension was removed (it was useless)<br />
* GetHistogramMinFromIndex() and GetHistogramMaxFromIndex() <br />
** Is now declared const (as any Get method should be)<br />
** It returns a const reference (it used to return a non-const reference)<br />
* GetFrequency()<br />
** const specifier of the InstanceIdentifier was removed (it was useless)<br />
* SetFrequency( value )<br />
** const specifier of the FrequencyType value was removed (it was useless)<br />
* SetFrequency( id, value )<br />
** const reference specifier of the InstanceIdentifier was removed. It is now passed by copy<br />
** const specifier of the FrequencyType value was removed (it was useless)<br />
* IncreaseFrequency( id, value )<br />
** const reference specifier of the InstanceIdentifier was removed. It is now passed by copy<br />
** const specifier of the FrequencyType value was removed (it was useless)<br />
* IncreaseFrequency( index, value )<br />
** const specifier of the FrequencyType value was removed (it was useless)<br />
* GetMeasurementVector( id )<br />
** const specifier of the InstanceIdentifier was removed (it was useless)<br />
* GetMeasurement( id, dimension )<br />
** type "const unsigned long" of the id, was replaced with InstanceIdentifier, (const part was removed, it was useless)<br />
** const specifier of the dimension value was removed (it was useless)<br />
* GetFrequency( id, dimension )<br />
** type "const unsigned long" of the id, was replaced with InstanceIdentifier, (const part was removed, it was useless)<br />
** const specifier of the dimension value was removed (it was useless)<br />
* Quantile( dimension, value )<br />
* const specifier of the dimension type was removed (it was useless)<br />
* const & specifier of the value type was removed (it was useless), value is now passed by copy.<br />
* SetMeasurementVectorSize()<br />
** const modified of the argument was removed (it was useless)<br />
* Iterators<br />
** non-const Iterator now derives from the ConstIterator<br />
** SetFrequency() method was removed from the non-const Iterator, and put in the ConstIterator<br />
|| <br />
* Iterators<br />
** API now made compliant with the other containers.<br />
** const correctness is enforced<br />
** non-const Iterator derives from the ConstIterator<br />
** Preventing any construction of non-const Iterator from ConstIterators by making the following methods be "protected"<br />
*** Iterator(const Self * histogram);<br />
*** Iterator(InstanceIdentifier id, const Self * histogram);<br />
*** Iterator(const ConstIterator & it);<br />
*** ConstIterator& operator=(const ConstIterator& it);<br />
** Constructor with instance identifier was moved out of the public API into the protected section<br />
*** This method is quite unsafe, and doesn't provide any required functionality (it seems to be just a sign of feature-creep)<br />
|-<br />
| VariableDimensionHistogram || Merged with the Histogram class above || ||<br />
|-<br />
| KdTree || moved with the same name || ||<br />
|-<br />
|}<br />
<br />
== Frequency Containers ==<br />
<br />
The use of the data type "FrequencyType" defined in the frequency containers was very confusing in the previous statistics framework. FrequencyType was used to refer to the number of counts(hits) in a histogram bin. This is basically what absolute frequency is. In other instances, FrequencyType was used to refer to relative (normalized) frequencies. This concept mixing creates a lot of confusion. Hence, in the new statistics framework, we have separated the two concepts and defined separate types.<br />
<br />
//Absolute Frequency type alias <br><br />
typedef MeasurementVectorTraits::AbsoluteFrequencyType AbsoluteFrequencyType;<br />
<br />
//Relative Frequency type alias <br><br />
typedef MeasurementVectorTraits::RelativeFrequencyType RelativeFrequencyType;<br />
<br />
Formal definition of relative and absolute frequencies can be found at <br />
<br />
http://en.wikipedia.org/wiki/Frequency_(statistics)<br />
<br />
<br />
The above frequency types are defined in the MeasurmentVectorTraits as follows <br><br />
<font style="color: red;"><br />
/** In the old framework, the FrequencyType is set to float. The problem is for large histograms the total frequency can be more than 1e+7, than increasing the frequency by one does not change the total frequency (because of lack of precision). Using double type will also ultimately fall into the same problem. Hence in the new statistics framework, InstanceIdentifier/FrequencyTypes are set to the the largest possible integer on the machine */ <br> <br />
</font><br />
<br />
typedef std::vector<int>::size_type InstanceIdentifier; <br><br />
<br />
/** Type defined for representing the frequency of measurement vectors */ <br><br />
typedef InstanceIdentifier AbsoluteFrequencyType; <br><br />
typedef NumericTraits< AbsoluteFrequencyType >::RealType RelativeFrequencyType; <br><br />
typedef NumericTraits< AbsoluteFrequencyType >::AccumulateType TotalAbsoluteFrequencyType; <br><br />
typedef NumericTraits< RelativeFrequencyType >::AccumulateType TotalRelativeFrequencyType; <br><br />
<br />
The containers are renamed with a suffix "2" to be able to generate a separate ITKStatistics library and be able to link with the old library during the refactoring. But once the refactoring is finialized, the name should be changed back to the original names.<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| DenseFrequencyContainer || Refactored into DenseFrequencyContainer2 || <br />
* FrequencyType typedef is deprecated ( replaced with AbsoluteFrequencyType and RelativeFrequencyType )<br />
* TotalFrequencyType typedef is deprecated ( replaced with AbsoluteFrequencyType and RelativeFrequencyType )<br />
||<br />
* New data types are defined<br />
** AbsoluteFrequencyType<br />
** RelativeFrequencyType<br />
** AbsoluteTotalFrequencyType<br />
** RelativeTotalFrequencyType<br />
|-<br />
| SparseFrequencyContainer || Refactored into SpareFrequencyContainer2 ||<br />
* FrequencyType typedef is deprecated ( replaced with AbsoluteFrequencyType and RelativeFrequencyType )<br />
* TotalFrequencyType typedef is deprecated ( replaced with AbsoluteFrequencyType and RelativeFrequencyType )<br />
||<br />
* New data types are defined<br />
** AbsoluteFrequencyType<br />
** RelativeFrequencyType<br />
** AbsoluteTotalFrequencyType<br />
** RelativeTotalFrequencyType<br />
<br />
|}<br />
<br />
<br />
== Traits ==<br />
<br />
<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| MeasurementVectorTraits || Refactored (same name) || <br />
||<br />
* Added Assert() instantiations for comparing length of<br />
** FixedArray raw pointer, std::vector raw pointer<br />
** FixedArray reference, std::vector reference<br />
* Added Assign() method for generalizing the assignment of scalars and vector types<br />
** Assign() vectorType to vectorType<br />
** Assign() scalarType to FixedArray< scalarType, 1 ><br />
* Added trait MeasurementVectorType <br />
** to be used as MeasurementVectorPixelTraits< PixelType >::MeasurementVectorType<br />
** This trait generalizes the mechanism for creating a measurement vector using as component type the pixel type of an image<br />
* Added explicit testing up to 100% code coverage<br />
|}<br />
<br />
== MeanShift ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| || || ||<br />
|}<br />
<br />
== Adaptors ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| ImageToCoocurrenceListAdaptor || Refactored into "ScalarImageToCoocurrenceListSampleFilter" || <br />
<br />
* Compute() method removed ( Update() ) should be used instead<br />
* SetImage() method removed ( SetInput() ) should be used instead<br />
||<br />
* Derives from Process Object and integrated into the pipeline<br />
** SetInput() method added<br />
** User should invoke Update() to generate the coocurrence list sample<br />
** GetOutput() returns the list sample generated<br />
|-<br />
| ImageToListAdaptor || Refactored into "ImageToListSampleAdaptor". This class handles images with scalar, fixed size array (itk::FixedArray) and variable length vector (itk::VariableLengthVector) pixel types. <br />
||<br />
* The class is not derived from ListSampleBase any more since ListSampleBase has been deprecated<br />
* The second template parameter ( MeasurementVectorType ) is removed since it is redundant. The measurement vector type is determined from the input Image type using the newly added MeasurementVectorPixelTraits.<br />
* GetUseBuffer() : This method is renamed as GetUsePointContainer(). The term "buffer" is misleading. This flag is used in the class to differentiate between accessing the pixel value directly from the pixel container or using GetPixel(Index) method after computing the index for the given id using ComputeIndex() method. In addition to the Get method, Set methods have been added as indicated in the new API column.<br />
<br />
||<br />
* The class derives from ListSample with the measurement vector type determined from the input image type<br />
* The Iterator and ConstIterator API is modified to be consistent with the iterator and constiterators of the ListSample class. <br />
* Added SetUsePixelContainer( bool ) : To turn on and off the UsePixelContainer flag.<br />
* Added UsePixelContainerOn(), UsePixelContainerOff() : convenient methods to turn on/off the UsePixelContainer flag.<br />
|-<br />
| ScalarImageToListAdaptor || Deprecated ( This class is redundant as the new ImageToListSampleAdaptor also handles scalar images with scalar pixel type. ) || ||<br />
|-<br />
| JointDomainImageToListAdaptor || Refactored into "JointDomainImageToListSampleAdaptor" ||<br />
* The class is not derived from the ImageToListSampleAdaptor. This design decision was made due to the new changes in the ImageToListSample adaptor to handle different pixel types ( scalar, Fixed length array, variable length vector).<br />
* Search() (and helper method ComputeRegion()) methods are removed . This class is not the appropriate place for such functionality. <br />
||<br />
* Derives from ListSample <br />
* Iterator and ConstIterator API added and it is consistent with the ListSample class.<br />
* Set/GetUsePixelContainer() and UsePixelContainerOn/Off methods added <br />
|-<br />
| PointSetToListAdapor || Refactored into "PointSetToListSampleAdaptor" ||<br />
* The class is not derived from ListSampleBase any more since ListSampleBase has been deprecated<br />
<br />
||<br />
* The class derives from ListSample with the measurement vector type determined from the point set type.<br />
* GetPointSet() returns a const PointSet ( constant correctness <br />
* GetSize() returns InstanceIdentifer type ( to have a consistent signature with the superclass ) <br />
* The Iterator and ConstIterator API is modified to be consistent with the iterator and constiterators of the ListSample class.<br />
<br />
|}<br />
<br />
== Univariate Distributions ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| || || ||<br />
|}<br />
<br />
== Algorithms ==<br />
<br />
Algorithms, including FloorLog, MedianOfThree, FindSampleBound, FindSampleBoundAndMean, Partition, QuickSelect, NthElement, InsertSort, DownHeap, HeapSort, IntrospectiveSortLoop, IntrospectiveSort, have been '''moved''' from the '''itk::Statistics''' namespace to the '''itk::Statistics::Algorithm''' namespace.<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| || || ||<br />
|}<br />
<br />
== Calculators ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| MeanCalculator || Refactored into MeanSampleFilter || <br />
* SetSample() method replaced with SetInput() <br />
* GetOutput() method return type modified ( the new signature returns a data object decorator )<br />
||<br />
* Derives from ProcessObject and the following methods added to integrate the class into the pipeline<br />
** SetInput()<br />
** GetOutput() (returns a data object decorated type of the mean vector )<br />
* GetMean() (returns the mean vector as it is without any decoration )<br />
|-<br />
| WeightedMeanCalculator || Refactored into WeightedMeanSampleFilter || <br />
* SetSample() method replaced with SetInput() <br />
* SetWeights() method input argument modified ( the new signature takes dataobject decorated weight array)<br />
* SetWeightFunction() method replaced with SetWeightingFunction() <br />
* GetWeights() method return type modified ( new signature returns a data object decorator of the weight array)<br />
* GetWeightingFunction() method replaced with GetWeightingFunction()<br />
* GetOutput() method return type modified ( the new signature returns a data object decorator of the mean )<br />
<br />
||<br />
* Derives from ProcessObject and the following methods added to integrate the class into the pipeline<br />
** SetInput()<br />
** GetOutput() (returns a data object decorated type of the mean vector )<br />
** SetWeights() (Takes dataObjecte decorated version of weight array type )<br />
** SetWeightingFunction (Takes dataObject decorated version of weighting function type )<br />
|-<br />
| CovarianceCalculator || Refactored into CovarianceSampleFilter || <br />
* SetMean() removed ( the mean will always be computed inside the class. Keeping track of mean computed internally and set from outside creates lots of inconsistencies in the pipeline). <br />
* SetSample() replaced with SetInput()<br />
* GetOutput() replaced with GetCovarianceMatrixOutput() which returns a decorated version of the covariance matrix<br />
||<br />
* Derived from process object and the following methods added to integrate the class into the pipeline<br />
** SetInput()<br />
** GetMeanOutput() ( returns a decorated version of the mean vector ) <br />
** GetCovarianceMatrixOutput() ( returns a decorated version of the covariance matrix )<br />
|-<br />
| WeightedCovarianceCalculator || Refactored into WeightedCovarianceSampleFilter ||<br />
* SetSample() method replaced with SetInput() <br />
* SetWeights() method input argument modified ( the new signature takes dataobject decorated weight array)<br />
* SetWeightFunction() method replaced with SetWeightingFunction() <br />
* GetWeights() method return type modified ( new signature returns a data object decorator of the weight array)<br />
* GetWeightingFunction() method replaced with GetWeightingFunction() <br />
|| <br />
* Derives from itk::CovarianceFilter and all the methods defined in the CovarianceFilter for pipeline integration (SetInput(), GetMeanOutput(), GetCovarianceMatrixOutput() )should be used<br />
* SetWeights() (Takes dataObjecte decorated version of weight array type )<br />
* SetWeightingFunction (Takes dataObject decorated version of weighting function type )<br />
* GetWeights() returns decorated version of the weight array<br />
* GetWeightingFunction() returns decorated version of the weighting function<br />
|-<br />
| GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator || Refactored into HistogramToTextureFeaturesFilter || <br />
* Compute() removed ( Update() method should be used in the new API )<br />
* SetHistogram() removed ( replaced by SetInput() in the new API )<br />
<br />
||<br />
* Derives from ProcessObject and the following methods added to integrate it to the pipeline <br />
** SetInput() <br />
** GenerateData() ( user should invoke Update() to compute the features )<br />
** Data object decorated versions of the Get methods for each feature was added.<br />
*** GetEnergyOutput()<br />
*** GetEntropyOutput()<br />
*** GetCorrelationOutput()<br />
*** GetInverseDifferenceMomentOutput()<br />
*** GetInertiaOutput()<br />
*** GetClusterShadeOutput()<br />
*** GetClusterProminenceOutput()<br />
*** GetHaralickCorrelationOutput()<br />
<br />
|- <br />
| ScalarImageTextureCalculator || Refactored into ScalarImageToTextureFeaturesFilter ||<br />
* Compute() removed ( Update() method should be used in the new API )<br />
|| <br />
* Derives from ProcessObject and the following methods added to integrate it to the pipeline <br />
** GenerateData() ( user should invoke Update() to compute the features )<br />
** Decorated data types for the mean and standard deviation feature values were defined.<br />
** Data object decorated versions of the GetOutput methods for the mean and standard deviation were added.<br />
*** GetFeatureMeansOutput()<br />
*** GetStandardDeviationsOutput() <br />
* GetInput and GetMaskImage() methods were added<br />
<br />
|}<br />
<br />
== Generators ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| ListSampleToHistogramGenerator || Refactored into SampleToHistogramFilter ||<br />
* It used to derive from Object, now derives from ProcessObject<br />
* It used to be templated over <br />
** SampleType and the <br />
** HistogramMeasurementType<br />
** Histogram frequency container.<br />
* Not it is templated over TSample and THistogram<br />
* SetListSample() removed. Replaced with SetInput()<br />
* The following member variables were removed and now are managed through Decorated inputs<br />
** Histogram Size<br />
** Marginal scale<br />
** Histogram Mins<br />
** Histogram Maxs<br />
** AutoMinMax<br />
|| <br />
* It derives now from ProcessObject<br />
* It is now templated over TSample and THistogram types<br />
* SetInput( const SampleType * )<br />
* const SampleType * GetInput() const<br />
* Copy Constructor and Operator=() are declared protected are purposely not implemented in order to enforce the correct use of SmartPointers.<br />
* MakeOutput() method added, so that the filter is compatible with the DisconnectPipeline() API of the output DataObject.<br />
* Added DataDecorated Inputs for<br />
** Histogram Size<br />
** AutoMinimumMaximum<br />
** MarginalScale<br />
** HistogramBinMinimum<br />
** HistogramBinMaximum<br />
* Decorated inputs provide <br />
** Set/Get methods for the decorated type and<br />
** '''ONLY''' Set method for the undecorated type.<br />
** Get method for undecorated type cannot be provided because their API uses a const reference, and the decorated input may have been a NULL pointer, in which case there is not possible const reference to return.<br />
|-<br />
| ImageToListGenerator || Refactored into ImageToListSampleFilter ||<br />
* GetListSample() replaced with GetOutput()<br />
* GenerateData() moved to protected interface <br />
|| <br />
* Integrated with the pipeline <br />
** GetOutput() added<br />
* The measurement vector type is determined using MeasurementVectorTraits and hence this adaptor handles scalar, fixed array and variable length vector pixel type<br />
|-<br />
| ScalarImageToGreyLevelCooccurrenceMatrixGenerator || Refactored into ScalarImageToCooccurrenceMatrixFilter ||<br />
* Compute() method removed ( Update() ) should be used instead<br />
||<br />
* Derives from Process Object and integrated into the pipeline<br />
** User should invoke Update() to compute the matrix<br />
** GetOutput() returns the computed matrix<br />
* Takes a mask image as well<br />
** SetMaskImage() added<br />
** GetMaskImage() added<br />
|-<br />
| MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator || Deprecated ( Use ScalarImageToCooccurrenceMatrixFilter instead since this takes a mask image in addition to the input image ) || || <br />
|-<br />
| ImageToHistogramGenerator || Refactored into ImageToHistogramFilter ||<br />
* It used to derive from Object, now derives from ProcessObject<br />
* It used to expect a ListSample as input, it now takes any class that complies with the Sample API<br />
* Compute() implementation removed, the default Update() of the superclass ProcessObject() provides the correct functionality. Compute() was replaced with GenerateData().<br />
* Member variables removed<br />
||<br />
* It derives now from ProcessObject<br />
* SetInput( const SampleType * )<br />
* const SampleType * GetInput() const<br />
* const HistogramType * GetOutput() const<br />
* Copy Constructor and Operator=() are declared protected are purposely not implemented in order to enforce the correct use of SmartPointers.<br />
* MakeOutput() method added, so that the filter is compatible with the DisconnectPipeline() API of the output DataObject.<br />
* Added DataDecorated Inputs for<br />
** Histogram Size<br />
** AutoMinimumMaximum<br />
** MarginalScale<br />
** HistogramBinMinimum<br />
** HistogramBinMaximum<br />
* Decorated inputs provide <br />
** Set/Get methods for the decorated type and<br />
** '''ONLY''' Set method for the undecorated type.<br />
** Get method for undecorated type cannot be provided because their API uses a const reference, and the decorated input may have been a NULL pointer, in which case there is not possible const reference to return.<br />
|}<br />
<br />
== Filters ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| ListSampleToHistogramFilter || Refactored as SampleToHistogramFilter ||<br />
* It used to derive from Object, now derives from ProcessObject<br />
* It used to expect a ListSample as input, it now takes any class that complies with the Sample API<br />
* SetListSample() removed. The method SetInput() should be used instead.<br />
* SetHistogram() removed. The resulting histogram is now obtained from the GetOutput() method, according to a standard Filter API.<br />
* Update() implementation removed, the default Update() of the superclass ProcessObject() provides the correct functionality.<br />
* Run() method removed. The method Update() in the superclass provides the equivalent functionality.<br />
* Member variables removed<br />
** A pointer to the ListSample. This is now managed by the Input of the ProcessObject.<br />
** A pointer to the output histogram. This is now manged by the Output of the ProcessObject.<br />
* In the old API it was expected that the user will <br />
** Construct an instance of the Histogram class<br />
** Setup in that histogram all the parameters such as:<br />
*** Histogram Size<br />
*** Histogram bin Minimum<br />
*** Histogram bin Maximum<br />
*** AutoMinMax<br />
* In the new API this setup is done directly in the filter, since the output object is supposed to be created by the filter, and provided as a '''const object''', therefore the users do not have access to it for applying any modifications.<br />
||<br />
* It derives now from ProcessObject<br />
* SetInput( const SampleType * )<br />
* const SampleType * GetInput() const<br />
* const HistogramType * GetOutput() const<br />
* Copy Constructor and Operator=() are declared protected are purposely not implemented in order to enforce the correct use of SmartPointers.<br />
* MakeOutput() method added, so that the filter is compatible with the DisconnectPipeline() API of the output DataObject.<br />
* Added DataDecorated Inputs for<br />
** Histogram Size<br />
** AutoMinimumMaximum<br />
** MarginalScale<br />
** HistogramBinMinimum<br />
** HistogramBinMaximum<br />
* Decorated inputs provide <br />
** Set/Get methods for the decorated type and<br />
** '''ONLY''' Set method for the undecorated type.<br />
** Get method for undecorated type cannot be provided because their API uses a const reference, and the decorated input may have been a NULL pointer, in which case there is not possible const reference to return.<br />
|-<br />
| HistogramToImageFilter || HistogramToImageFilter || || ImageDimension was added as second template parameter. This is needed because now the number of components in the Histogram class are defined at run time. <br />
|-<br />
| HistogramToIntensityImageFilter || HistogramToIntensityImageFilter || || ImageDimension was added as second template parameter. See HistogramToImageFilter<br />
|-<br />
| HistogramToLogProbabilityImageFilter || HistogramToLogProbabilityImageFilter || || ImageDimension was added as second template parameter. See HistogramToImageFilter<br />
|-<br />
| HistogramToProbabilityImageFilter || HistogramToProbabilityImageFilter || || ImageDimension was added as second template parameter. See HistogramToImageFilter<br />
|-<br />
| HistogramToEntropyImageFilter || HistogramToEntropyImageFilter || || ImageDimension was added as second template parameter. See HistogramToImageFilter<br />
|}<br />
<br />
== Multivariate Density Functions ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| DensityFunction || Removed ( it is a duplication of what MembershipFunction) does || ||<br />
|-<br />
| GaussianDensityFunction || Refactored as GaussianMembershipFunction || ||<br />
|}<br />
<br />
== Distance Metrics ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| DistanceMetric || Refactored (Same name ) ||<br />
*Evaluate method with two arguments removed<br />
|| <br />
*Derives now from FunctionBase ( not MembershipFunctionBase )<br />
*SetMeasurmentVectorSize reimplemented <br />
|-<br />
| EuclideanDistance || Refactored as EuclideanDistanceMetric ||<br />
*Evaluate method with two arguments removed (unnecessary for the classification pipeline )<br />
*IsWithinRange method removed (unnecessary for the classification pipeline )<br />
<br />
||<br />
|-<br />
| MahalanobisDistanceMetric || Refactored same name || || <br />
|-<br />
|-<br />
| EuclideanSquareDistanceMetric|| New class || || Same API as EuclideanDistance<br />
|-<br />
| ManhattanDistanceMetric|| New class || || Same API as EuclideanDistance<br />
|}<br />
<br />
== MembershipFunctions ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| DistanceToCentroidMembershipFunction || Refactored (Same name ) ||<br />
*Set/Get Number of samples method removed ( not used at all )<br />
|| <br />
*SetMeasurmentVectorSize reimplemented <br />
|-<br />
| GaussianDensityFunction || Refactored as GaussianMembershipFunction ||<br />
|| <br />
<br />
|-<br />
<br />
|}<br />
<br />
== Process Objects ==<br />
<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| SampleClassifier || These are now Classifiers, see below || ||<br />
|-<br />
| SampleClassifierWithMask || These are now Classifiers, see below || ||<br />
|}<br />
<br />
== Classifiers ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| ClassifierBase || Deprecated || ||<br />
|-<br />
| SampleClassifier || Refactored (as SampleClassifierFilter) || ||<br />
* Derives from ProcessObject to integrate the classifier to ITK pipeline<br />
* Add Datadecorated inputs <br />
** Classlabels<br />
** MembershipFunctions<br />
* Throw an exception if the specified number of class doesn't match with <br />
the number of class labels or the number of membership functions specified.<br />
* Add Set/Get method for DecisionRule <br />
|-<br />
| ImageClassifierBase || Refactored (as ImageClassifierFilter) || ||<br />
* Derives from ImageToImageFilter to integrate the classifier to ITK pipeline<br />
* Add Datadecorated inputs <br />
** Classlabels<br />
** MembershipFunctions<br />
** MembershipFunctionsWeightArray<br />
** DecisionRule<br />
<br />
* Throw an exception if the specified number of class doesn't match with <br />
the number of class labels or the number of membership functions specified.<br />
* Add Set/Get method for DecisionRule <br />
* GetOutput returns MembershipSampleType<br />
|-<br />
* SetSample becomes SetInput<br />
|}<br />
<br />
== Decision rules ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| DecisionRuleBase || Refactored as DecisionRule || * Remove Evaluate(ArrayType ) method ||<br />
* Define MembershipVector type which is of std::vector< double > type and store the membership score<br />
* Define only ONE Evaluate method that takes MembershipVector type<br />
|-<br />
| MaximumDecisionRule || Refactored as MaximumDecisionRule2 || ||<br />
|-<br />
| MinimumDecisionRule || Refactored as MinimumDecisionRule2 || ||<br />
|-<br />
|-<br />
| MaximumDecisionRatioRule || Refactored as MaximumDecisionRationRule2 || ||<br />
|}<br />
<br />
== Components ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
| itkMixtureModelComponentBase || Refactored(same name) || <br />
* WeightsArrayType * GetWeights() non-const<br />
* double GetWeight( int ) non-const<br />
* void SetWeight( int )<br />
* void CreateWeightArray()<br />
* void DeleteWeightArray()<br />
|| <br />
* const WeightsArrayType & GetWeights() const <br />
* double GetWeight( unsigned int ) const<br />
* void SetWeight( unsigned int )<br />
* Removed (not needed now that Weights is not a pointer)<br />
* Removed (not needed now that Weights is not a pointer)<br />
|-<br />
| itkGaussianMixtureModelComponent || Refactored(same name) || ||<br />
<br />
|}<br />
<br />
== Estimators ==<br />
<br />
{| border="1"<br />
|- bgcolor="#abcdef"<br />
! Class Name !! Fate !! Deprecated API !! New API<br />
|-<br />
|itkKdTreeBasedKmeansEstimator || Refactored (same name) || ||<br />
|-<br />
|itkExpectationMaximizationMixtureModelEstimator || Refactored (same name) || ||<br />
|}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/MetaIO&diff=34896
ITK/MetaIO
2010-11-28T02:29:11Z
<p>Thewtex: /* Get the software */</p>
<hr />
<div>= MetaIO Documentation =<br />
<br />
* MetaIO began in 1996 to address the growing complexity and inflexibility of medical image formats that were available at that time.<br />
* MetaIO has maintained backward compatibility since its initial public release in 2000 as part of the [http://www.itk.org Insight Toolkit (ITK)]<br />
* MetaIO is used for the majority of tests and examples in the ITK framework<br />
<br />
==Highlights==<br />
<br />
* Simple text descriptor using tagged field format<br />
* Descriptor can appear as a text header preceding binary data<br />
* Descriptor can be in a separate file that describes a binary data file<br />
* Via separate header and binary data files, multiple binary data formats are supported<br />
** Bmp, .im, dicom<br />
** UChar, Char, UShort, Short, UInt, Int, Float, Double voxels<br />
* Supports storage of parameters necessary for real-world medical image processing<br />
** Element (e.g., voxel or pixel) size<br />
** Image position and orientation<br />
** Patient position and orientation<br />
* Supports MSB and LSB byte ordering<br />
* ND Data in a single file<br />
* ND Data as a sequence of (N-1)D files<br />
* Optional compression<br />
* Easily extended to handle user-defined fields on a per application basis<br />
<br />
== Documentation ==<br />
<br />
* [[MetaIO/Documentation | MetaIO documentation]] is available as a wiki page.<br />
* [[MetaIO/MetaCommand_Documentation | MetaCommand and MetaOutput documentation]] is also available as a wiki page.<br />
<br />
== Get the software ==<br />
<br />
* Most recent version available as part of the [http://www.itk.org Insight Toolkit] in the directory Insight/Utilities/MetaIO<br />
* MetaIO is also available as part of the [http://www.vtk.org Visualization Toolkit] in the directory VTK/Utilities/vtkmetaio<br />
<br />
== VTK MetaIO -vs- ITK MetaIO ==<br />
<br />
The ITK and VTK distributions differ by having local include files that cause each distribution to be wrapped in a different namespace. In this manner, programs can link with the VTK and ITK libraries without receiving errors related to the same function having been previously defined. <br />
<br />
A summary of the differences are as follows:<br />
* Each distribution has a file called "localMetaConfiguration.h." This file defines METAIO_USE_NAMESPACE, META_IO_NAMESPACE, include paths for vtk/itk's kwsys libraries, and namespaces for STL, STREAM, and KWSYS libraries. Important differences are as follows<br />
** ITK distribution:<br />
*** Does not use a namespace - in order to preserve backward compatibility<br />
*** Includes itk_zlib.h <br />
*** Includes itksys/SystemTools.hxx for kwsys<br />
** VTK distribution:<br />
*** Uses the namespace vtkmetaio<br />
*** Includes vtkConfigure.h to learn about std dependencies<br />
*** Includes vtksys/SystemTools.hxx for kwsys<br />
*** Defines METAIO_EXTERN and METAIO_EXPORT for shared libraries<br />
* Each .h and .cxx file in MetaIO includes the localMetaConfiguration.h file using quotes to cause the local version of that file to be found first. Thus, a single application should be able to compile with VTK and ITK without problems/conflict<br />
<br />
Usage:<br />
* When using MetaIO from within VTK, prefix with the namespace vtkmetaio::<br />
* When using MetaIO from within ITK, call the function without a namespace<br />
* Developers should never issue "using namespace vtkmetaio" in a program if VTK and ITK are to be used in that program.<br />
<br />
== FAQ ==<br />
<br />
# <em> I am trying to use MetaIO to point to and read my set of png (or tiff or jpeg) files, but it isn't working. What is wrong with MetaIO?</em><br />
#* More than likely your files are using compressed versions of those image formats. MetaIO only supports its own type of image compression - it cannot read data that is compressed in other formats. Sorry.<br />
# <em> Should I use Origin, Position, or Offset (and similarly Orientation, Rotation, or TransformMatrix) to represent the recorded location of my data? </em><br />
#* Due to backward compatibility constraints, any of these variations is supported and produces identical results.<br />
# <em> What is the difference between BinaryDataByteOrderMSB and ElementDataByteOrderMSB? </em><br />
#* Again backward compatibility is the driving force. Over the past decade some inconsistencies crept into the implementation of derived classes, and when we go back and standardize, we must maintain backward compatibility. Therefore, equivalent terms are often defined in the tag dictionary.<br />
# <em> I think MetaIO is encoding my image's orientation incorrectly... </em><br />
#* We greatly appreciate your feedback -- particularly if you can provide the data and/or data conversion program that is exhibiting this behavior. We've tried to get it "right" but data orientation is both critical and tricky. Please send your data and details to stephen.aylward@kitware.com<br />
# <em> What orientation convention is MetaIO using? </em><br />
#* MetaIO uses the same orientation convention as ITK - which is OPPOSITE FROM DICOM. This is extremely unfortunate, but again...backward compatibility. Direction cosines (orientation), spacing, and origin should map consistently as your image moves from DICOM to MetaIO and back - however, the anatomical orientations should FLIP - L <-> R, I <-> S, and A <-> P. For more information, see:<br />
#** http://www.itk.org/Wiki/Proposals:Orientation#Some_notes_on_the_DICOM_convention_and_current_ITK_usage<br />
#** http://www.itk.org/cgi-bin/viewcvs.cgi/Code/Common/itkSpatialOrientation.h?rev=1.1&root=Insight&view=markup<br />
<br />
== Related Links ==<br />
<br />
*[http://www.itk.org ITK]<br />
*[http://www.vtk.org VTK]<br />
*[http://lcni.uoregon.edu/~jolinda/MRIConvert/ MRIConvert] - excellent tool for DICOM to MetaImage conversion<br />
*[http://fusionviewer.sourceforge.net/ FusionViewer] - U of Washington tool for pet/ct visualization<br />
*[http://www.fi.muni.cz/~pem/i3dlib/html/index.html I3DLib] - Microscopy software - Masaryk University<br />
*[http://www.batchmake.org BatchMake] - Simple scripting for GRID processing<br />
<br />
= MetaCommand and MetaOutput =<br />
<br />
The MetaCommand and MetaOutput classes are provided with the MetaIO library. They simplify the parsing of command-line parameters, integration of executables with [http://www.batchmake.org BatchMake], and distributed processing.<br />
<br />
Documentation on [[MetaIO/MetaCommand_Documentation | MetaCommand and MetaOutput]] is available as a wiki page.</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty&diff=34756
ITK/GDBPretty
2010-11-21T09:02:46Z
<p>Thewtex: </p>
<hr />
<div>GDB scripts for debugging ITK or tools based on ITK. When 'printing' an image object in the debugger, it can, e.g., instantly render and display the image in memory. A number of text printers also exist that mimic the object->Print( std::cout ) functionality.<br />
<br />
<br />
== Documentation ==<br />
<br />
=== Articles ===<br />
<br />
* [http://www.kitware.com/products/html/VisualDebuggingOfITK.html Article in The Source]<br />
<br />
=== Examples ===<br />
<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx/trees/thewtex/examples libstdcxx example]<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk/trees/master/examples itk example]<br />
* [https://github.com/antonin07130/itkCompareProject/tree/master/Testing/Code/GDBPretty/ itkCompareProject example]<br />
<br />
=== Screencasts ===<br />
<br />
* [http://www.archive.org/details/VisualDebuggingWithCustomPrettyPrinters Screencast demo]<br />
* [http://www.archive.org/details/icpGui itkCompareProject demo]<br />
<br />
== Installation ==<br />
<br />
* [[ITK/GDBPretty/Installation/Linux | Linux]]<br />
* [[ITK/GDBPretty/Installation/Mac | Mac]]<br />
* [[ITK/GDBPretty/Installation/Windows | Windows]]<br />
<br />
== Repositories ==<br />
<br />
* [http://gitorious.org/~thewtex/gdb-python/archer-thewtex-python Custom GDB] <br />
** There are some changes here until we have time to push them upstream.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx gdb-pretty-libstdcxx] <br />
** Pretty printers by Tom Tromey from GDB for GNU implementation of the C++ standard library.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-science gdb-pretty-science]<br />
** Pretty printers for "science" -- mostly image viewers at the moment.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk gdb-pretty-itk]<br />
** Text and image viewer printers for the InsightToolkit.<br />
* [https://github.com/antonin07130/itkCompareProject itkCompareProject]<br />
** ITK image viewer pretty printer that synchronizes views over a session.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk-cmake gdb-pretty-itk-cmake]<br />
** CMake module to register the ITK pretty printers in your project.<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty&diff=34755
ITK/GDBPretty
2010-11-21T08:57:50Z
<p>Thewtex: /* Repositories */</p>
<hr />
<div>== Repositories ==<br />
<br />
* [http://gitorious.org/~thewtex/gdb-python/archer-thewtex-python Custom GDB] <br />
** There are some changes here until we have time to push them upstream.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx gdb-pretty-libstdcxx] <br />
** Pretty printers by Tom Tromey from GDB for GNU implementation of the C++ standard library.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-science gdb-pretty-science]<br />
** Pretty printers for "science" -- mostly image viewers at the moment.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk gdb-pretty-itk]<br />
** Text and image viewer printers for the InsightToolkit.<br />
* [https://github.com/antonin07130/itkCompareProject itkCompareProject]<br />
** ITK image viewer pretty printer that synchronizes views over a session.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk-cmake gdb-pretty-itk-cmake]<br />
** CMake module to register the ITK pretty printers in your project.<br />
<br />
== Documentation ==<br />
<br />
=== Articles ===<br />
<br />
* [http://www.kitware.com/products/html/VisualDebuggingOfITK.html Article in The Source]<br />
<br />
=== Examples ===<br />
<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx/trees/thewtex/examples libstdcxx example]<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk/trees/master/examples itk example]<br />
* [https://github.com/antonin07130/itkCompareProject/tree/master/Testing/Code/GDBPretty/ itkCompareProject example]<br />
<br />
=== Screencasts ===<br />
<br />
* [http://www.archive.org/details/VisualDebuggingWithCustomPrettyPrinters Screencast demo]<br />
* [http://www.archive.org/details/icpGui itkCompareProject demo]<br />
<br />
== Installation ==<br />
<br />
* [[ITK/GDBPretty/Installation/Linux | Linux]]<br />
* [[ITK/GDBPretty/Installation/Mac | Mac]]<br />
* [[ITK/GDBPretty/Installation/Windows | Windows]]<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux/Fedora14&diff=34754
ITK/GDBPretty/Installation/Linux/Fedora14
2010-11-21T06:54:51Z
<p>Thewtex: /* ITK pretty-printers */ the itk example is not going to work on fedora at the moment because it uses the mayavi printers</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Known Issues ==<br />
<br />
The Mayavi based printers (due to a problem with vtk-Python? TVTK? glibc?) cannot be used on Fedora 14. These include<br />
<br />
* mayavi.*<br />
* paraview<br />
* vv<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DITK_USE_REVIEW_STATISTICS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux/Fedora14&diff=34753
ITK/GDBPretty/Installation/Linux/Fedora14
2010-11-21T06:53:11Z
<p>Thewtex: /* Known Issues */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Known Issues ==<br />
<br />
The Mayavi based printers (due to a problem with vtk-Python? TVTK? glibc?) cannot be used on Fedora 14. These include<br />
<br />
* mayavi.*<br />
* paraview<br />
* vv<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DITK_USE_REVIEW_STATISTICS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux/Fedora14&diff=34730
ITK/GDBPretty/Installation/Linux/Fedora14
2010-11-20T20:15:52Z
<p>Thewtex: </p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Known Issues ==<br />
<br />
The Mayavi based printers (due to a problem with vtk-Python? TVTK?) cannot be used on Fedora 14. These include<br />
<br />
* mayavi.*<br />
* paraview<br />
* vv<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DITK_USE_REVIEW_STATISTICS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux/Fedora14&diff=34729
ITK/GDBPretty/Installation/Linux/Fedora14
2010-11-20T20:12:51Z
<p>Thewtex: /* Install VV */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DITK_USE_REVIEW_STATISTICS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux/Fedora14&diff=34728
ITK/GDBPretty/Installation/Linux/Fedora14
2010-11-20T20:11:36Z
<p>Thewtex: </p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34727
ITK/GDBPretty/Installation/Linux
2010-11-20T20:09:59Z
<p>Thewtex: Replaced content with "* Fedora 14
* Debian Squeeze"</p>
<hr />
<div>* [[ITK/GDBPretty/Installation/Linux/Fedora14 | Fedora 14]]<br />
* [[ITK/GDBPretty/Installation/Linux/DebianSqueeze | Debian Squeeze]]</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux/DebianSqueeze&diff=34726
ITK/GDBPretty/Installation/Linux/DebianSqueeze
2010-11-20T20:09:34Z
<p>Thewtex: Created page with "= Debian Squeeze = == Install basic package dependencies == aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev == Build custom GDB == === Bui..."</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux/Fedora14&diff=34725
ITK/GDBPretty/Installation/Linux/Fedora14
2010-11-20T20:08:38Z
<p>Thewtex: Created page with "= Fedora 14 example = == Install package dependencies == yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel == Build custom GDB == === Build it === ..."</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34724
ITK/GDBPretty/Installation/Linux
2010-11-20T20:07:32Z
<p>Thewtex: </p>
<hr />
<div>* [[ITK/GDBPretty/Installation/Linux/Fedora14 | Fedora 14]]<br />
* [[ITK/GDBPretty/Installation/Linux/DebianSqueeze | Debian Squeeze]]<br />
<br />
= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34723
ITK/GDBPretty/Installation/Linux
2010-11-20T20:05:55Z
<p>Thewtex: Undo revision 34568 by Thewtex (talk)</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34698
ITK/GDBPretty/Installation/Linux
2010-11-19T23:01:09Z
<p>Thewtex: /* itkCompareProject printer */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34642
ITK/GDBPretty/Installation/Linux
2010-11-18T16:25:39Z
<p>Thewtex: /* itkCompareProject printer */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/gdb/pretty -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty&diff=34582
ITK/GDBPretty
2010-11-18T10:08:11Z
<p>Thewtex: /* Screencasts */</p>
<hr />
<div>== Repositories ==<br />
<br />
* [http://gitorious.org/~thewtex/gdb-python/archer-thewtex-python Custom GDB] There are some changes here until we have time to push them upstream.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx gdb-pretty-libstdcxx] Pretty printers by Tom Tromey from GDB for GNU implementation of the C++ standard library.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-science gdb-pretty-science] Pretty printers for "science" -- mostly image viewers at the moment.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk gdb-pretty-itk] Text and image viewer printers for the InsightToolkit.<br />
* [https://github.com/antonin07130/itkCompareProject itkCompareProject] ITK image viewer pretty printer that synchronizes views over a session.<br />
<br />
== Documentation ==<br />
<br />
=== Articles ===<br />
<br />
* [http://www.kitware.com/products/html/VisualDebuggingOfITK.html Article in The Source]<br />
<br />
=== Examples ===<br />
<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx/trees/thewtex/examples libstdcxx example]<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk/trees/master/examples itk example]<br />
* [https://github.com/antonin07130/itkCompareProject/tree/master/Testing/Code/GDBPretty/ itkCompareProject example]<br />
<br />
=== Screencasts ===<br />
<br />
* [http://www.archive.org/details/VisualDebuggingWithCustomPrettyPrinters Screencast demo]<br />
* [http://www.archive.org/details/icpGui itkCompareProject demo]<br />
<br />
== Installation ==<br />
<br />
* [[ITK/GDBPretty/Installation/Linux | Linux]]<br />
* [[ITK/GDBPretty/Installation/Mac | Mac]]<br />
* [[ITK/GDBPretty/Installation/Windows | Windows]]<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty&diff=34581
ITK/GDBPretty
2010-11-18T08:55:54Z
<p>Thewtex: /* Documentation */</p>
<hr />
<div>== Repositories ==<br />
<br />
* [http://gitorious.org/~thewtex/gdb-python/archer-thewtex-python Custom GDB] There are some changes here until we have time to push them upstream.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx gdb-pretty-libstdcxx] Pretty printers by Tom Tromey from GDB for GNU implementation of the C++ standard library.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-science gdb-pretty-science] Pretty printers for "science" -- mostly image viewers at the moment.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk gdb-pretty-itk] Text and image viewer printers for the InsightToolkit.<br />
* [https://github.com/antonin07130/itkCompareProject itkCompareProject] ITK image viewer pretty printer that synchronizes views over a session.<br />
<br />
== Documentation ==<br />
<br />
=== Articles ===<br />
<br />
* [http://www.kitware.com/products/html/VisualDebuggingOfITK.html Article in The Source]<br />
<br />
=== Examples ===<br />
<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx/trees/thewtex/examples libstdcxx example]<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk/trees/master/examples itk example]<br />
* [https://github.com/antonin07130/itkCompareProject/tree/master/Testing/Code/GDBPretty/ itkCompareProject example]<br />
<br />
=== Screencasts ===<br />
<br />
* [http://www.archive.org/details/VisualDebuggingWithCustomPrettyPrinters Screencast demo]<br />
<br />
== Installation ==<br />
<br />
* [[ITK/GDBPretty/Installation/Linux | Linux]]<br />
* [[ITK/GDBPretty/Installation/Mac | Mac]]<br />
* [[ITK/GDBPretty/Installation/Windows | Windows]]<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty&diff=34580
ITK/GDBPretty
2010-11-18T08:50:59Z
<p>Thewtex: /* Repositories */</p>
<hr />
<div>== Repositories ==<br />
<br />
* [http://gitorious.org/~thewtex/gdb-python/archer-thewtex-python Custom GDB] There are some changes here until we have time to push them upstream.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-libstdcxx gdb-pretty-libstdcxx] Pretty printers by Tom Tromey from GDB for GNU implementation of the C++ standard library.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-science gdb-pretty-science] Pretty printers for "science" -- mostly image viewers at the moment.<br />
* [http://gitorious.org/gdb-pretty/gdb-pretty-itk gdb-pretty-itk] Text and image viewer printers for the InsightToolkit.<br />
* [https://github.com/antonin07130/itkCompareProject itkCompareProject] ITK image viewer pretty printer that synchronizes views over a session.<br />
<br />
== Documentation ==<br />
<br />
=== Articles ===<br />
<br />
* [http://www.kitware.com/products/html/VisualDebuggingOfITK.html Article in The Source]<br />
<br />
=== Examples ===<br />
<br />
=== Screencasts ===<br />
<br />
* [http://www.archive.org/details/VisualDebuggingWithCustomPrettyPrinters Screencast demo]<br />
<br />
== Installation ==<br />
<br />
* [[ITK/GDBPretty/Installation/Linux | Linux]]<br />
* [[ITK/GDBPretty/Installation/Mac | Mac]]<br />
* [[ITK/GDBPretty/Installation/Windows | Windows]]<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty&diff=34579
ITK/GDBPretty
2010-11-18T08:32:00Z
<p>Thewtex: </p>
<hr />
<div>== Repositories ==<br />
<br />
== Documentation ==<br />
<br />
=== Articles ===<br />
<br />
* [http://www.kitware.com/products/html/VisualDebuggingOfITK.html Article in The Source]<br />
<br />
=== Examples ===<br />
<br />
=== Screencasts ===<br />
<br />
* [http://www.archive.org/details/VisualDebuggingWithCustomPrettyPrinters Screencast demo]<br />
<br />
== Installation ==<br />
<br />
* [[ITK/GDBPretty/Installation/Linux | Linux]]<br />
* [[ITK/GDBPretty/Installation/Mac | Mac]]<br />
* [[ITK/GDBPretty/Installation/Windows | Windows]]<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34578
ITK/GDBPretty/Installation/Linux
2010-11-18T08:29:36Z
<p>Thewtex: </p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make<br />
<br />
<br />
{{ITK/Template/Footer}}</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34577
ITK/GDBPretty/Installation/Linux
2010-11-18T07:40:37Z
<p>Thewtex: /* itkCompareProject printer */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON -DBUILD_TESTING=ON ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34576
ITK/GDBPretty/Installation/Linux
2010-11-18T07:38:09Z
<p>Thewtex: /* itkCompareProject printer */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ -DBUILD_EXAMPLES=ON ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34575
ITK/GDBPretty/Installation/Linux
2010-11-18T07:36:34Z
<p>Thewtex: /* itkCompareProject printer */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ -DBUILD_GDB_PRETTY=ON -DICPGUI_INSTALL_LOCATION=/home/user/gdb/install/share/gdb/python/ ..<br />
make</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34574
ITK/GDBPretty/Installation/Linux
2010-11-18T06:43:10Z
<p>Thewtex: /* Install VV */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DITK_USE_REVIEW_STATISTICS=ON ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ ..</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34573
ITK/GDBPretty/Installation/Linux
2010-11-18T06:38:58Z
<p>Thewtex: /* itkCompareProject printer */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build/ -DVTK_DIR=~/VTK/build/ ..</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34572
ITK/GDBPretty/Installation/Linux
2010-11-18T06:37:32Z
<p>Thewtex: /* itkCompareProject printer */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git<br />
mkdir itkCompareProject/build<br />
cd itkCompareProject/build</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34571
ITK/GDBPretty/Installation/Linux
2010-11-18T06:36:40Z
<p>Thewtex: /* itkCompareProject printers */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printer ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34570
ITK/GDBPretty/Installation/Linux
2010-11-18T06:35:40Z
<p>Thewtex: /* = itkCompareProject printers */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34569
ITK/GDBPretty/Installation/Linux
2010-11-18T06:31:27Z
<p>Thewtex: /* Install custom pretty-printers */</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
=== itkCompareProject printers == <br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone https://github.com/antonin07130/itkCompareProject.git</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34568
ITK/GDBPretty/Installation/Linux
2010-11-18T06:15:13Z
<p>Thewtex: remove fedora 14 instructions -- gdb hangs in the itk example -- bug in glibc ?</p>
<hr />
<div>= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34567
ITK/GDBPretty/Installation/Linux
2010-11-18T06:04:41Z
<p>Thewtex: /* Debian Squeeze */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34566
ITK/GDBPretty/Installation/Linux
2010-11-18T06:01:33Z
<p>Thewtex: /* Install VV */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/vv-src/build/bin/vv<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34565
ITK/GDBPretty/Installation/Linux
2010-11-18T05:59:31Z
<p>Thewtex: /* Install VV */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
exit<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34562
ITK/GDBPretty/Installation/Linux
2010-11-18T05:20:45Z
<p>Thewtex: /* Install VV */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt libxt-dev<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34560
ITK/GDBPretty/Installation/Linux
2010-11-18T05:06:59Z
<p>Thewtex: /* Install VV */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make -j2<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34559
ITK/GDBPretty/Installation/Linux
2010-11-18T05:06:04Z
<p>Thewtex: /* Install VV */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
aptitude install gengetopt<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34558
ITK/GDBPretty/Installation/Linux
2010-11-18T04:59:22Z
<p>Thewtex: /* Basic pretty-printers */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34557
ITK/GDBPretty/Installation/Linux
2010-11-18T04:58:00Z
<p>Thewtex: /* Basic pretty-printers */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake ipython<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34556
ITK/GDBPretty/Installation/Linux
2010-11-18T04:57:10Z
<p>Thewtex: /* Pretty printers in the Fedora repository */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Debian repository ====<br />
<br />
aptitude install mayavi2 paraview<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34555
ITK/GDBPretty/Installation/Linux
2010-11-18T04:52:55Z
<p>Thewtex: /* Debian Squeeze */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34554
ITK/GDBPretty/Installation/Linux
2010-11-18T04:48:01Z
<p>Thewtex: /* Basic pretty-printers */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
aptitude install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...</div>
Thewtex
https://public.kitware.com/Wiki/index.php?title=ITK/GDBPretty/Installation/Linux&diff=34553
ITK/GDBPretty/Installation/Linux
2010-11-18T04:46:40Z
<p>Thewtex: /* Put it at the top of the system PATH */</p>
<hr />
<div>= Fedora 14 example =<br />
<br />
== Install package dependencies ==<br />
<br />
yum install gcc gcc-c++ git texinfo ncurses-devel flex bison python-devel<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
Logout and login to a new shell to ensure the system follows the new path.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...<br />
<br />
=== Science related pretty-printers ===<br />
<br />
==== Pretty printers in the Fedora repository ====<br />
<br />
VTK is packaged poorly, so you need the ''vtk-devel'' package to ''import vtk'' in Python.<br />
<br />
yum install Mayavi paraview vtk-devel<br />
<br />
==== Install VV ====<br />
<br />
Install dependencies,<br />
<br />
yum install gengetopt qt-devel wget cmake mesa-libGL-devel libXt-devel mesa-libOSMesa-devel<br />
<br />
Build VTK 5.6 from source.<br />
<br />
cd ~/<br />
wget http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz<br />
tar xvzf vtk-5.6.1.tar.gz<br />
mkdir VTK/build<br />
cd VTK/build<br />
cmake -DVTK_USE_QT=ON -DBUILD_TESTING=OFF ..<br />
make<br />
<br />
Build ITK from source.<br />
<br />
cd ~/<br />
wget http://voxel.dl.sourceforge.net/sourceforge/itk/InsightToolkit-3.20.0.tar.gz<br />
tar xvzf InsightToolkit-3.20.0.tar.gz<br />
cd InsightToolkit-3.20.0<br />
mkdir build<br />
cd build<br />
cmake -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DITK_USE_REVIEW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..<br />
make -j2<br />
<br />
Download vvSource-1.1.tar.gz from the [http://www.creatis.insa-lyon.fr/rio/vv VV homepage].<br />
<br />
cd ~/<br />
mv ~/Documents/vvSource-1.1.tar.gz ~/<br />
tar xvzf vvSource-1.1.tar.gz<br />
cd vv-src/build<br />
cmake -DITK_DIR=~/InsightToolkit-3.20.0/build -DVTK_DIR=~/VTK/build ..<br />
make -j2<br />
<br />
Copy the executable to the system PATH, e.g.<br />
<br />
mkdir ~/bin<br />
cd ~/bin<br />
ln -s ~/vv-src/build/bin/vv<br />
<br />
==== GDB setup ====<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-science.git science<br />
cd science<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=~/gdb/install ..<br />
make install<br />
<br />
=== ITK pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone git://gitorious.org/gdb-pretty/gdb-pretty-itk.git itk<br />
<br />
Try running the example<br />
<br />
cd itk/examples<br />
less readme.rst<br />
<br />
= Debian Squeeze =<br />
<br />
== Install basic package dependencies ==<br />
<br />
aptitude install build-essential git texinfo flex bison libncurses5-dev python-dev<br />
<br />
== Build custom GDB ==<br />
<br />
=== Build it ===<br />
<br />
cd ~<br />
mkdir gdb<br />
cd gdb<br />
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source<br />
mkdir build install<br />
cd build<br />
../source/configure --prefix=$(cd ../install && pwd)<br />
make -j2 all<br />
make install<br />
<br />
=== Put it at the top of the system PATH ===<br />
<br />
su -<br />
cd /usr/local/bin<br />
ln -s /home/user/gdb/install/bin/gdb<br />
exit<br />
<br />
Replace ''user'' with your username.<br />
<br />
== Install custom pretty-printers ==<br />
<br />
=== Basic pretty-printers ===<br />
<br />
yum install python-matplotlib cmake<br />
<br />
Place the following in ''~/.gdbinit''<br />
<pre><br />
#<br />
# C++ related beautifiers (optional)<br />
#<br />
set print pretty on<br />
set print object on<br />
set print static-members on<br />
set print vtbl on<br />
set print demangle on<br />
set demangle-style gnu-v3<br />
set print sevenbit-strings off<br />
set multiple-symbols ask<br />
# working with arrays<br />
set print array on<br />
set print elements 70<br />
<br />
#<br />
# gdb-pretty<br />
#<br />
python<br />
import sys<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty' )<br />
sys.path.insert( 0, '/home/user/gdb/gdb-pretty/itk/source' )<br />
import gdb.pretty<br />
gdb.pretty.register( 'libstdcxx.v6.printers', None )<br />
end<br />
<br />
require command view<br />
require command alias<br />
</pre><br />
<br />
Replace ''user'' with your username.<br />
<br />
mkdir ~/gdb/gdb-pretty<br />
<br />
=== ''libstdcxx'' pretty-printers ===<br />
<br />
cd ~/gdb/gdb-pretty<br />
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx<br />
<br />
Try running the example<br />
<br />
cd libstdcxx/examples<br />
less readme.rst<br />
...</div>
Thewtex