Существуют ли такого рода конверторы: CxF2 -> CxF3 и CxF3 -> CxF2 ?

sasa

Топикстартер
15 лет на форуме
Сообщения
2 001
Реакции
824
Ничего не смог найти " в сети". У X-Rite только несколько советов на этот счёт для различных программ.
Ранее я руками переделывал, для небольшого количества замеров.
Но сейчас надо заметно большее количество данных.
Может кто-то встречал такие конверторы?
 

serzin

20 лет на форуме
Сообщения
988
Реакции
282
А есть описание самих этих форматов и примеры файлов? Там же xml. Вроде должно быть не сложно сделать такой конвертор.
 

andrewtd

10 лет на форуме
Сообщения
25
Реакции
6
Ничего не смог найти " в сети". У X-Rite только несколько советов на этот счёт для различных программ.
Ранее я руками переделывал, для небольшого количества замеров.
Но сейчас надо заметно большее количество данных.
Может кто-то встречал такие конверторы?
Теоретически CGS ORIS CXF Toolbox с этим должен помочь

 
  • Спасибо
Реакции: sasa

sasa

Топикстартер
15 лет на форуме
Сообщения
2 001
Реакции
824

sasa

Топикстартер
15 лет на форуме
Сообщения
2 001
Реакции
824
I1profiler пробовали? Я им конверчу куда нужно, но именно про эти форматы не в курсе, и проверить пока не могу - дома болею.
Да, пробовал. Но там только возможность прочитать CxF3...
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Да тут схемы (schema) парсинга этих XML. Мне показалось сложновато со schema разобраться и я парсил на яваскрипте без схем основные для меня форматы. Конвертил правда всегда в более дружелюбный CGATS, не в иную версию CxF. Если разобраться с этими schema как следует - действительно такой универсальный конвертер увлеченному программисту написать наверное было бы не очень сложно. А Иксрайт мог бы и сам написать, конечно, но Иксрайт - не Гретаг, к сожалению.
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Мое видение таково, я просто десяток парсеров разных CxF написал по-быстрому и могу высказать свои соображения по этому процессу.
Написать полноценный парсер и конвертер по схеме всех вообще на свете CxF (а их, блин, вагон) - мощная масштабная задача. И весьма полезная, если сделать все честно, с графическим интерфейсом для браузера, а если без него - то скомпилировать для любых платформ. Ну по принципу как это делает Грэм или ICC для своих утилит.
Если же нужно написать конвертер всего одного конкретного типа CxF по образцу в другой формат, и речь идет о совершенно однотипных данных - то эта задача решается начинающим программистом за 1-2 вечера. Это не масштабная задача, конвертнуть конкретно что то во что-то - это совсем не много строк кода даже с учетом графического интерфейса и кроссплатформенности.
Мы даже тут как-то на форуме примерно в 2016 году уже обсуждали парсинг CxF от Иксрайта и иже с ним, и нашли решение сообща, причем частное, без сложного использования схем.
 
  • Спасибо
Реакции: koraalex и sasa

serzin

20 лет на форуме
Сообщения
988
Реакции
282
Писать конвертор всего во все я не готов. Если есть задача часто конвертировать кокнретные однотипные файлы, то дайте образцы - я сделаю конвертер.
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Немного вскользь темы, не CxF, но CGATS тоже часто востребован.

Набросал простенькую утилитку упаковки таблиц Excel в стандартный CGATS:
Из этих мелочей складывается жизненный комфорт.

Можете опробовать например на колорчекере:

Результат (первые 8 полей ColorChecker, все 24 поля в размер сообщения не влезают):
Код:
ORIGINATOR    "https://cielab.xyz/spectralcalc/Table_to_CGATS.html"
KEYWORD    "SampleID"
KEYWORD    "SAMPLE_NAME"
NUMBER_OF_FIELDS    78
BEGIN_DATA_FORMAT
SampleID    SAMPLE_NAME    nm380    nm385    nm390    nm395    nm400    nm405    nm410    nm415    nm420    nm425    nm430    nm435    nm440    nm445    nm450    nm455    nm460    nm465    nm470    nm475    nm480    nm485    nm490    nm495    nm500    nm505    nm510    nm515    nm520    nm525    nm530    nm535    nm540    nm545    nm550    nm555    nm560    nm565    nm570    nm575    nm580    nm585    nm590    nm595    nm600    nm605    nm610    nm615    nm620    nm625    nm630    nm635    nm640    nm645    nm650    nm655    nm660    nm665    nm670    nm675    nm680    nm685    nm690    nm695    nm700    nm705    nm710    nm715    nm720    nm725    nm730    nm735    nm740    nm745    nm750    nm755    nm760
END_DATA_FORMAT
NUMBER_OF_SETS    24
BEGIN_DATA
1    Dark_skin    0.054    0.057    0.063    0.066    0.075    0.078    0.078    0.076    0.074    0.07    0.066    0.064    0.062    0.06    0.059    0.06    0.058    0.06    0.06    0.062    0.058    0.063    0.063    0.067    0.068    0.07    0.072    0.077    0.079    0.081    0.081    0.083    0.083    0.084    0.084    0.088    0.093    0.098    0.104    0.111    0.121    0.127    0.133    0.14    0.144    0.149    0.151    0.154    0.16    0.164    0.17    0.175    0.179    0.184    0.193    0.203    0.213    0.22    0.236    0.241    0.248    0.257    0.269    0.28    0.289    0.3    0.314    0.337    0.346    0.361    0.382    0.404    0.425    0.439    0.464    0.476    0.49
2    Light_skin    0.092    0.109    0.134    0.161    0.186    0.2    0.205    0.206    0.207    0.209    0.211    0.213    0.216    0.221    0.227    0.237    0.246    0.259    0.273    0.285    0.294    0.304    0.305    0.309    0.314    0.323    0.334    0.34    0.332    0.316    0.3    0.292    0.29    0.295    0.3    0.302    0.297    0.295    0.304    0.328    0.365    0.409    0.45    0.488    0.52    0.54    0.556    0.566    0.574    0.582    0.593    0.602    0.607    0.625    0.631    0.639    0.655    0.661    0.687    0.693    0.711    0.722    0.737    0.757    0.768    0.786    0.798    0.815    0.822    0.823    0.835    0.845    0.855    0.848    0.862    0.861    0.868
3    Blue_sky    0.105    0.127    0.164    0.213    0.271    0.314    0.333    0.344    0.345    0.344    0.346    0.346    0.347    0.343    0.337    0.333    0.327    0.324    0.319    0.306    0.29    0.288    0.28    0.274    0.265    0.258    0.25    0.24    0.229    0.22    0.212    0.207    0.203    0.198    0.193    0.191    0.187    0.181    0.174    0.17    0.167    0.162    0.158    0.161    0.156    0.152    0.15    0.145    0.142    0.137    0.133    0.132    0.126    0.127    0.121    0.118    0.115    0.115    0.112    0.11    0.11    0.109    0.108    0.108    0.106    0.105    0.105    0.106    0.106    0.105    0.107    0.105    0.106    0.105    0.108    0.107    0.11
4    Foliage    0.05    0.052    0.052    0.05    0.052    0.052    0.052    0.053    0.051    0.053    0.053    0.053    0.055    0.058    0.059    0.061    0.06    0.063    0.063    0.067    0.065    0.067    0.069    0.072    0.077    0.088    0.105    0.132    0.159    0.182    0.195    0.199    0.191    0.18    0.167    0.156    0.144    0.133    0.131    0.13    0.129    0.123    0.118    0.114    0.11    0.102    0.101    0.103    0.104    0.105    0.105    0.106    0.102    0.102    0.101    0.101    0.101    0.101    0.107    0.115    0.132    0.152    0.185    0.233    0.283    0.339    0.383    0.419    0.444    0.445    0.465    0.473    0.477    0.48    0.489    0.492    0.498
5    Blue_flower    0.101    0.127    0.17    0.233    0.31    0.373    0.409    0.424    0.432    0.437    0.437    0.438    0.437    0.432    0.428    0.423    0.417    0.412    0.405    0.395    0.38    0.373    0.364    0.355    0.342    0.333    0.316    0.296    0.267    0.245    0.227    0.212    0.206    0.203    0.203    0.204    0.196    0.19    0.19    0.194    0.201    0.21    0.216    0.225    0.228    0.232    0.238    0.24    0.236    0.236    0.24    0.248    0.261    0.289    0.322    0.362    0.407    0.446    0.488    0.512    0.546    0.546    0.555    0.563    0.564    0.575    0.578    0.586    0.59    0.589    0.601    0.604    0.606    0.605    0.614    0.616    0.617
6    Bluish_green    0.108    0.132    0.168    0.213    0.26    0.292    0.308    0.317    0.32    0.328    0.336    0.342    0.352    0.36    0.371    0.386    0.405    0.433    0.465    0.497    0.528    0.557    0.576    0.591    0.586    0.591    0.586    0.582    0.567    0.559    0.545    0.533    0.512    0.492    0.472    0.445    0.429    0.402    0.38    0.355    0.332    0.309    0.284    0.262    0.247    0.233    0.224    0.217    0.212    0.209    0.207    0.205    0.2    0.198    0.199    0.197    0.199    0.203    0.21    0.216    0.218    0.226    0.232    0.236    0.238    0.242    0.242    0.239    0.232    0.227    0.229    0.23    0.237    0.248    0.256    0.269    0.274
7    Orange    0.052    0.054    0.052    0.05    0.052    0.052    0.052    0.051    0.05    0.05    0.052    0.05    0.051    0.051    0.052    0.051    0.051    0.053    0.053    0.054    0.055    0.056    0.055    0.058    0.061    0.063    0.068    0.077    0.086    0.098    0.12    0.145    0.175    0.206    0.236    0.27    0.302    0.341    0.375    0.41    0.44    0.467    0.488    0.509    0.518    0.532    0.54    0.551    0.557    0.562    0.568    0.575    0.581    0.584    0.585    0.59    0.601    0.596    0.6    0.596    0.604    0.603    0.606    0.607    0.608    0.615    0.617    0.621    0.622    0.619    0.625    0.628    0.63    0.627    0.635    0.639    0.64
8    Purplish_blue    0.094    0.113    0.141    0.186    0.235    0.275    0.297    0.316    0.317    0.333    0.346    0.355    0.368    0.378    0.381    0.377    0.368    0.356    0.34    0.322    0.296    0.269    0.241    0.22    0.197    0.182    0.166    0.151    0.138    0.127    0.12    0.115    0.108    0.104    0.101    0.095    0.09    0.084    0.082    0.081    0.081    0.081    0.081    0.083    0.083    0.08    0.079    0.08    0.081    0.081    0.084    0.089    0.092    0.096    0.103    0.107    0.112    0.111    0.112    0.109    0.104    0.102    0.099    0.099    0.1    0.1    0.103    0.106    0.109    0.113    0.122    0.127    0.138    0.153    0.173    0.193    0.215
END_DATA
Примерно также можно паковать что угодно в CxF а не в CGATS, код открытый. Мне просто CxF обычно не нужен в качестве формата вывода данных.