Changesets: Slicer
2145-support-for-installing-extension-from-file 03b89614 2013-01-11 16:29:52 Details Diff |
COMP: Add ITKFactoryRegistration library centralizing ITK IO factory registration This commit will ensure that ITK IO factory are properly registered on all supported platforms. When ITKv4 is build shared, the library holding the factory registration code are build statically. As a consequence, when CLI module are loaded as library the factory are registered multiple times. Around 800 factories where registered and this was leading to poor performance when loading images. This commit enable the building of a shared library named ITKFactoryRegistration that should be linked against to ensure loading of the factory. This approach can succeed thanks to the help of the ITK variable ITK_NO_IO_FACTORY_REGISTER_MANAGER. This variable allow to disable the automatic registration of factory in selected part of the code. The following two cases are handled: - Registration of the factories within the Slicer executable. - Registration of the factories within CLI executable. Fixes 0002813 From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> git-svn-id: http://svn.slicer.org/Slicer4/trunk@21592 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/CMakeLists.txt | Diff File | ||
mod - Applications/SlicerApp/Main.cxx | Diff File | ||
mod - Base/CLI/CMakeLists.txt | Diff File | ||
add - Base/CLI/SEMCommandLineLibraryWrapper.cxx.in | Diff File | ||
mod - CMake/SlicerConfig.cmake.in | Diff File | ||
mod - CMake/SlicerGenerateSlicerConfig.cmake | Diff File | ||
mod - CMake/UseSlicer.cmake.in | Diff File | ||
mod - CMakeLists.txt | Diff File | ||
mod - Libs/CMakeLists.txt | Diff File | ||
mod - Libs/IGT/CMakeLists.txt | Diff File | ||
add - Libs/ITKFactoryRegistration/CMakeLists.txt | Diff File | ||
add - Libs/ITKFactoryRegistration/itkFactoryRegistration.cxx | Diff File | ||
add - Libs/ITKFactoryRegistration/itkFactoryRegistration.h | Diff File | ||
add - Libs/ITKFactoryRegistration/itkFactoryRegistrationConfigure.h.in | Diff File | ||
mod - Libs/MGHImageIO/CMakeLists.txt | Diff File | ||
mod - Libs/MRML/Core/CMakeLists.txt | Diff File | ||
mod - Libs/MRML/IDImageIO/CMakeLists.txt | Diff File | ||
mod - Libs/RemoteIO/CMakeLists.txt | Diff File | ||
mod - Libs/vtkITK/CMakeLists.txt | Diff File | ||
mod - Libs/vtkITK/Testing/CMakeLists.txt | Diff File | ||
mod - SuperBuild/External_SlicerExecutionModel.cmake | Diff File | ||
2145-support-for-installing-extension-from-file f2ccfa63 2013-01-11 16:29:36 Details Diff |
COMP: Undefine the min symbol for VC. Visual Studio defines min as a macro and collides with the use of std::min. Here we conditionally undefine the min macro. Contributed by Luis Ibanez From: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> git-svn-id: http://svn.slicer.org/Slicer4/trunk@21591 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_SlicerExecutionModel.cmake | Diff File | ||
2145-support-for-installing-extension-from-file b43eb464 2013-01-11 14:14:41 Details Diff |
BUG: Fix processing of "additional-module-paths" command line option When multiple paths were passed, they were incorrectly converted to a single path containing a space instead of a list of paths. git-svn-id: http://svn.slicer.org/Slicer4/trunk@21590 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTCore/qSlicerCoreCommandOptions.cxx | Diff File | ||
2145-support-for-installing-extension-from-file 43f2ab18 2013-01-11 11:44:43 Details Diff |
ENH: Speed up reading of Nrrd file not having tensor data Contributed by Bill Lorensen From: Bill Lorensen <bill.lorensen@gmail.com> git-svn-id: http://svn.slicer.org/Slicer4/trunk@21589 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/vtkITK/vtkITKArchetypeDiffusionTensorImageReaderFile.cxx | Diff File | ||
2145-support-for-installing-extension-from-file 232ece74 2013-01-10 18:38:10 Details Diff |
BUG: Fix qMRMLTreeView memory leak vtkCollectionIterator and vtkCollection had still a reference count of 1 at exit. Regression from r21523 git-svn-id: http://svn.slicer.org/Slicer4/trunk@21588 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/Widgets/qMRMLTreeView.cxx | Diff File | ||
2145-support-for-installing-extension-from-file 124bddd0 2013-01-10 18:38:06 Details Diff |
BUG: Fix qMRMLDisplayNodeViewComboBoxTest The cleanup() method can't delete the scene in the testResetScene() case git-svn-id: http://svn.slicer.org/Slicer4/trunk@21587 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/Widgets/Testing/qMRMLDisplayNodeViewComboBoxTest.cxx | Diff File | ||
2145-support-for-installing-extension-from-file cf8212ba 2013-01-10 18:38:02 Details Diff |
ENH: Speed-up qMRMLSceneModel node observation Don't listen to nodes that are filtered out by the sort&filter proxy model. Issue 0002642 Example of performance on MacBookPro laptop: AddData (BrainAtlas2012.mrb) took 22741 msecs -10000msecs CloseScene () took 11827 msecs -10000msecs AddData (BrainAtlas2012.mrb) took 20909 msecs ModifyNode (vtkMRMLScalarVolumeNode1) took 4 msecs ModifyNode (vtkMRMLScalarVolumeNode2) took 24 msecs ModifyNode (vtkMRMLScalarVolumeDisplayNode2) took 22 msecs ModifyNode (vtkMRMLScalarVolumeNode3) took 15 msecs ModifyNode (vtkMRMLModelHierarchyNode2) took 10 msecs ModifyNode (vtkMRMLModelNode4) took 0 msecs ModifyNode (vtkMRMLModelDisplayNode5) took 11 msecs ModifyNode (vtkMRMLModelHierarchyNode3) took 10 msecs ModifyNode (vtkMRMLModelStorageNode1) took 0 msecs AddNode (vtkMRMLModelNode302) took 20 msecs Layout (3) took 51 msecs Layout (2) took 24 msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 865 msecs -1000msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 622 msecs git-svn-id: http://svn.slicer.org/Slicer4/trunk@21586 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/Widgets/Testing/qMRMLSceneModelTest.cxx | Diff File | ||
mod - Libs/MRML/Widgets/Testing/qMRMLTreeViewEventTranslatorPlayerTest1.cxx | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLNodeComboBox.cxx | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLSceneModel.cxx | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLSceneModel.h | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLSceneModel_p.h | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLSortFilterHierarchyProxyModel.cxx | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLSortFilterHierarchyProxyModel.h | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLSortFilterProxyModel.cxx | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLSortFilterProxyModel.h | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLTreeView.cxx | Diff File | ||
mod - Libs/MRML/Widgets/qMRMLTreeView.h | Diff File | ||
mod - Modules/Loadable/Data/Resources/UI/qSlicerDataModule.ui | Diff File | ||
mod - Modules/Loadable/Models/Resources/UI/qSlicerModelsModule.ui | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Widgets/qMRMLSceneTractographyDisplayModel.cxx | Diff File | ||
mod - Modules/Loadable/Transforms/Resources/UI/qSlicerTransformsModule.ui | Diff File | ||
mod - SuperBuild/External_OpenIGTLinkIF.cmake | Diff File | ||
2145-support-for-installing-extension-from-file 73dfb761 2013-01-10 13:14:41 Details Diff |
BUG: Fixed bug 2746, cleaned header file git-svn-id: http://svn.slicer.org/Slicer4/trunk@21585 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/Core/vtkMRMLDiffusionTensorVolumeSliceDisplayNode.h | Diff File | ||
2145-support-for-installing-extension-from-file 0c13d0ca 2013-01-10 13:14:31 Details Diff |
ENH: colortable now is not possible to select when not appropriate git-svn-id: http://svn.slicer.org/Slicer4/trunk@21584 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/Loadable/TractographyDisplay/Widgets/Resources/UI/qSlicerTractographyDisplayWidget.ui | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Widgets/qSlicerTractographyDisplayWidget.cxx | Diff File | ||
2145-support-for-installing-extension-from-file 2bcb4e76 2013-01-10 12:51:15 Details Diff |
ENH: Speed-up vtkMRMLScene references Issue 0002642 Example of performance on a MacBookPro laptop: AddData (BrainAtlas2012.mrb) took 30911 msecs CloseScene () took 21943 msecs CloseScene () took 76 msecs AddData (BrainAtlas2012.mrb) took 29535 msecs ModifyNode (vtkMRMLScalarVolumeNode1) took 4 msecs ModifyNode (vtkMRMLScalarVolumeNode2) took 25 msecs ModifyNode (vtkMRMLScalarVolumeDisplayNode2) took 23 msecs ModifyNode (vtkMRMLScalarVolumeNode3) took 15 msecs ModifyNode (vtkMRMLModelHierarchyNode2) took 10 msecs ModifyNode (vtkMRMLModelNode4) took 0 msecs ModifyNode (vtkMRMLModelDisplayNode5) took 11 msecs ModifyNode (vtkMRMLModelHierarchyNode3) took 11 msecs ModifyNode (vtkMRMLModelStorageNode1) took 5 msecs AddNode (vtkMRMLModelNode302) took 31 msecs Layout (3) took 9 msecs Layout (2) took 27 msecs Layout (3) took 50 msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 2701 msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 1542 msecs git-svn-id: http://svn.slicer.org/Slicer4/trunk@21583 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/Core/vtkMRMLScene.cxx | Diff File | ||
2145-support-for-installing-extension-from-file 92aefb88 2013-01-10 12:51:11 Details Diff |
ENH: Speed-up ctkVTKConnection Issue 0002642 Example of performance on a MacBookPro laptop: AddData (BrainAtlas2012.mrb) took 32574 msecs CloseScene () took 24954 msecs CloseScene () took 104 msecs AddData (BrainAtlas2012.mrb) took 30087 msecs ModifyNode (vtkMRMLScalarVolumeNode1) took 4 msecs ModifyNode (vtkMRMLScalarVolumeNode1) took 3 msecs ModifyNode (vtkMRMLScalarVolumeNode2) took 25 msecs ModifyNode (vtkMRMLScalarVolumeNode3) took 16 msecs ModifyNode (vtkMRMLScalarVolumeDisplayNode2) took 22 msecs ModifyNode (vtkMRMLModelHierarchyNode2) took 10 msecs ModifyNode (vtkMRMLModelNode4) took 0 msecs ModifyNode (vtkMRMLModelDisplayNode5) took 11 msecs ModifyNode (vtkMRMLModelHierarchyNode3) took 10 msecs ModifyNode (vtkMRMLModelStorageNode1) took 4 msecs AddNode (vtkMRMLModelNode302) took 31 msecs Layout (3) took 66 msecs Layout (2) took 20 msecs Layout (3) took 53 msecs Layout (2) took 19 msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 2730 msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 1556 msecs git-svn-id: http://svn.slicer.org/Slicer4/trunk@21582 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_CTK.cmake | Diff File | ||
2145-support-for-installing-extension-from-file 8a52eb38 2013-01-10 12:51:08 Details Diff |
ENH: Speed-up vtkEventBroker Issue 0002642 Example of performance on a MacBookPro laptop: AddData (BrainAtlas2012.mrb) took 37541 msecs CloseScene () took 26276 msecs CloseScene () took 117 msecs AddData (BrainAtlas2012.mrb) took 37057 msecs ModifyNode (vtkMRMLScalarVolumeNode1) took 4 msecs ModifyNode (vtkMRMLScalarVolumeNode2) took 26 msecs ModifyNode (vtkMRMLScalarVolumeNode3) took 15 msecs ModifyNode (vtkMRMLScalarVolumeDisplayNode2) took 22 msecs ModifyNode (vtkMRMLModelHierarchyNode2) took 10 msecs ModifyNode (vtkMRMLModelNode4) took 0 msecs ModifyNode (vtkMRMLModelDisplayNode5) took 11 msecs ModifyNode (vtkMRMLModelHierarchyNode3) took 11 msecs ModifyNode (vtkMRMLModelStorageNode1) took 4 msecs AddNode (vtkMRMLModelNode302) took 41 msecs Layout (3) took 52 msecs Layout (2) took 18 msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 2911 msecs RestoreSceneView (vtkMRMLSceneViewNode15) took 1608 msecs git-svn-id: http://svn.slicer.org/Slicer4/trunk@21581 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/Core/vtkEventBroker.cxx | Diff File | ||
2145-support-for-installing-extension-from-file 8fade71e 2013-01-10 12:51:04 Details Diff |
ENH: Speed-up vtkObject event invokes Issue 0002642 Example of performance on a MacBookPro laptop: AddData (BrainAtlas2012.mrb) took 39877 msecs CloseScene () took 26271 msecs CloseScene () took 136 msecs AddData (BrainAtlas2012.mrb) took 36945 msecs ModifyNode (vtkMRMLScalarVolumeNode1) took 4 msecs ModifyNode (vtkMRMLScalarVolumeNode2) took 28 msecs ModifyNode (vtkMRMLScalarVolumeNode3) took 16 msecs ModifyNode (vtkMRMLModelHierarchyNode2) took 13 msecs ModifyNode (vtkMRMLModelNode5) took 1 msecs ModifyNode (vtkMRMLModelNode4) took 0 msecs ModifyNode (vtkMRMLModelDisplayNode5) took 12 msecs ModifyNode (vtkMRMLModelHierarchyNode3) took 12 msecs ModifyNode (vtkMRMLModelStorageNode1) took 4 msecs ModifyNode (vtkMRMLModelHierarchyNode301) took 17 msecs ModifyNode (vtkMRMLModelDisplayNode304) took 21 msecs ModifyNode (vtkMRMLModelHierarchyNode302) took 17 msecs AddNode (vtkMRMLModelNode5) took 90 msecs AddNode (vtkMRMLModelNode302) took 45 msecs git-svn-id: http://svn.slicer.org/Slicer4/trunk@21580 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_VTK.cmake | Diff File | ||
2145-support-for-installing-extension-from-file 9ecca3f0 2013-01-10 12:51:01 Details Diff |
ENH: Add Scene Performance test It measures time spent by some scene actions such as loading, closing, restoring, relayouting a scene or modifying/adding nodes. Issue 0002642 Example of performance on a MacBookPro laptop (2.4GHz): AddData (BrainAtlas2012.mrb) took 44865 msecs CloseScene () took 28706 msecs AddData (BrainAtlas2012.mrb) took 44579 msecs ModifyNode (vtkMRMLScalarVolumeNode1) took 4 msecs ModifyNode (vtkMRMLScalarVolumeNode2) took 35 msecs ModifyNode (vtkMRMLScalarVolumeNode3) took 20 msecs ModifyNode (vtkMRMLModelHierarchyNode2) took 14 msecs ModifyNode (vtkMRMLModelNode4) took 0 msecs ModifyNode (vtkMRMLModelDisplayNode5) took 14 msecs ModifyNode (vtkMRMLModelHierarchyNode3) took 13 msecs ModifyNode (vtkMRMLModelStorageNode1) took 4 msecs ModifyNode (vtkMRMLModelHierarchyNode301) took 18 msecs ModifyNode (vtkMRMLModelDisplayNode304) took 23 msecs ModifyNode (vtkMRMLModelHierarchyNode51) took 19 msecs AddNode (vtkMRMLModelNode302) took 46 msecs git-svn-id: http://svn.slicer.org/Slicer4/trunk@21579 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Python/CMakeLists.txt | Diff File | ||
add - Applications/SlicerApp/Testing/Python/Resources/UI/ScenePerformance.ui | Diff File | ||
add - Applications/SlicerApp/Testing/Python/ScenePerformance.py | Diff File | ||
mod - Base/QTCore/qSlicerCoreIOManager.cxx | Diff File | ||
mod - Base/QTCore/qSlicerCoreIOManager.h | Diff File | ||
2145-support-for-installing-extension-from-file fb51209d 2013-01-10 12:09:51 Details Diff |
BUG: Fixed bug 2824 Perpendicular diffusivity now works git-svn-id: http://svn.slicer.org/Slicer4/trunk@21578 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/CLI/DiffusionTensorScalarMeasurements/DiffusionTensorScalarMeasurements.xml | Diff File | ||
2145-support-for-installing-extension-from-file e2755497 2013-01-10 12:00:51 Details Diff |
BUG: Corrected bug 2381 the DTI volume glyphs now use the correct color map when in color by orientation mode git-svn-id: http://svn.slicer.org/Slicer4/trunk@21577 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/Core/vtkMRMLDiffusionTensorVolumeSliceDisplayNode.cxx | Diff File | ||
mod - Modules/Loadable/Volumes/Widgets/qSlicerDTISliceDisplayWidget.cxx | Diff File | ||
2145-support-for-installing-extension-from-file bf452249 2013-01-10 12:00:44 Details Diff |
ENH: Changed the label fo the fiber bundle ROI editing buttons to make the more clear git-svn-id: http://svn.slicer.org/Slicer4/trunk@21576 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/Loadable/TractographyDisplay/Widgets/Resources/UI/qSlicerTractographyEditorROIWidget.ui | Diff File | ||
2145-support-for-installing-extension-from-file 47a14cd5 2013-01-10 11:03:39 Details Diff |
ENH: Load translation only if "Internationalization" is enabled git-svn-id: http://svn.slicer.org/Slicer4/trunk@21575 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTCore/qSlicerCoreApplication.cxx | Diff File | ||
mod - Base/QTGUI/qSlicerSettingsGeneralPanel.cxx | Diff File | ||
2145-support-for-installing-extension-from-file cae1efae 2013-01-10 11:03:28 Details Diff |
BUG: Ensure qm translation files are properly considered The message "File ... qSlicerBaseQTCore_fr.qm" doesn't exist." won't occur anymore when starting Slicer. See http://www.na-mic.org/Bug/view.php?id=2863 Fixes 0002863 git-svn-id: http://svn.slicer.org/Slicer4/trunk@21574 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_CTK.cmake | Diff File | ||
2145-support-for-installing-extension-from-file c84c5018 2013-01-09 18:39:20 Details Diff |
ENH: Added W/L controls for fiber bundles (mantis ID: 0002789) git-svn-id: http://svn.slicer.org/Slicer4/trunk@21573 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Python/test_tractography_display.py | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/MRML/vtkMRMLFiberBundleTubeDisplayNode.cxx | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Testing/CMakeLists.txt | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Widgets/Resources/UI/qSlicerTractographyDisplayModule.ui | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Widgets/Resources/UI/qSlicerTractographyDisplayWidget.ui | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Widgets/qSlicerTractographyDisplayWidget.cxx | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Widgets/qSlicerTractographyDisplayWidget.h | Diff File | ||
2145-support-for-installing-extension-from-file c1ecc2b0 2013-01-09 16:41:36 Details Diff |
COMP: Fix build warning and typo in SlicerExecutionModel project git-svn-id: http://svn.slicer.org/Slicer4/trunk@21572 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_SlicerExecutionModel.cmake | Diff File | ||
2145-support-for-installing-extension-from-file a44e30da 2013-01-09 10:59:04 Details Diff |
COMP: Download AppLauncher packages from packages.kitware.com Since github.com deprecated its download api [1], the launcher packages have been uploaded on packages.kitware.com. [1] https://github.com/blog/1302-goodbye-uploads git-svn-id: http://svn.slicer.org/Slicer4/trunk@21571 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_CTKAPPLAUNCHER.cmake | Diff File | ||
2145-support-for-installing-extension-from-file eb218b82 2013-01-08 17:42:50 Details Diff |
ENH: Added a test class for the tractography display test_tractography_display git-svn-id: http://svn.slicer.org/Slicer4/trunk@21570 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Python/CMakeLists.txt | Diff File | ||
add - Applications/SlicerApp/Testing/Python/test_tractography_display.py | Diff File | ||
2145-support-for-installing-extension-from-file cfa5c766 2013-01-08 17:42:44 Details Diff |
BUG: Solved part of bug 2577, color fibers by segment and mean orientation works git-svn-id: http://svn.slicer.org/Slicer4/trunk@21569 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/Loadable/TractographyDisplay/MRML/vtkMRMLFiberBundleGlyphDisplayNode.cxx | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/MRML/vtkMRMLFiberBundleLineDisplayNode.cxx | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/MRML/vtkMRMLFiberBundleTubeDisplayNode.cxx | Diff File | ||
2145-support-for-installing-extension-from-file 5f744228 2013-01-08 17:42:39 Details Diff |
BUG: Corrected bug 2577, now there is always a fiber bundle selected if there is one in the scene git-svn-id: http://svn.slicer.org/Slicer4/trunk@21568 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/Loadable/TractographyDisplay/Widgets/qMRMLTractographyDisplayTreeView.cxx | Diff File | ||
mod - Modules/Loadable/TractographyDisplay/Widgets/qMRMLTractographyDisplayTreeView.h | Diff File |