Comments (2)
Implementation ideas: Name comparisons should be case-folded and normalized. The data file DerivedNormalizationProps.txt provides a table with the NFKC_CF property for each code point, which can be incorporated into my existing code. For example, my CaseFoldUnicode() function could take an option to tell it whether to simply case fold (as it does now), or case fold and normalize for compatibility.
For each case-folded character that is returned, "D117 Canonical Composition Algorithm" from Unicode chapter 3.11 must be applied: the returned character must be combined with a character that is already present in the string if and only if such a combination is possible. Detailed information is given in tr15 "1.3 Description of the Normalization Process". Note that combination must be done in a certain order, so it is necessary to push all combining characters onto a queue and sort them into the correct order before combining them with the previous non-combining character.
from vtk-dicom.
Another option is to throw away all diacritical marks, resulting in a very loose comparison that should be well suited for names. This simplifies the code, since the "combining" part of the algorithm is no longer needed. This is basically conversion via NFKC_CF (DerivedNormalizationProps.txt) followed by decomposition (UnicodeData.txt) followed by deletion of combining diacritics. It should be very suitable for loose string comparisons.
from vtk-dicom.
Related Issues (20)
- Dealing with RescaleSlope in MRI HOT 1
- Zeros at end of file cause infinite loop HOT 1
- Tilted-gantry CT rectification requires SetMemoryRowOrderToFileNative() HOT 2
- BUILD date not included HOT 1
- vtkDICOMDirectory cannot find files in DICOM folder HOT 2
- Get metadata from vtkNIFTIReader HOT 3
- CMake minimum version update HOT 1
- Possible to have any python example? HOT 5
- Additional Query Attributes
- Vtk dicom
- dicomtonifti.exe fails when dicoms in series differ in bit depth HOT 4
- vtkDICOMParser cannot read DICOM files with non-ASCII characters in the filename HOT 7
- Bug in vtkDICOMReader.cxx at Line 2511 HOT 1
- Instrument directory search tools
- VS 2020 compile issue HOT 2
- Hello, can you update the latest version to vcpkg? HOT 1
- Could not find a package configuration file provided by "DICOM" with any of the following names HOT 3
- Compile error? HOT 1
- Reading multi-pass CT series HOT 3
- Localizers cause confusion with dicomtocsv output HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vtk-dicom.