LINUX.ORG.RU

ROOT Getting Started


0

0

Подскажите с чего правильно начинать разбираться с системой ROOT?

В основном на текущем этапе интересует как прочитать CSV файл и построить по нему график (двухмерный). Может кто накидает пример?

Как он в качестве замены матлаба (без симулинка)?

И еще, как про него гуглить, если root - это часто встречающееся слово? :)

★★★★

На замену матлабу бери octave (если нужна синтаксическая совместимость). Если не нужна, то лучше scilab. Быстрее и полезнее. По обеим документации навалом, в том числе на русском.

Если задача сводится только к постройке двумерного графика, то лучше отпарсить на bash и скормить gnuplot

ZhAN ★★
()
Ответ на: комментарий от ZhAN

Синтаксис не важен, но гнуплот - это что-то страшно тормозное. После построения 3d поверхности по 230*60 точкам вращение этого графика - пошаговая стратегия мс обновлением раз в 3 секунды, кроме того у него неудобный гуй. Матлаб строит эту поверхность сходу и вращает моментально. Но после обновления убунты версия 2005 года стала вылетать с сегфолтом очень часто, вот и захотелось вместо того, чтобы скачать с торенотов новую версию найти что-то приемлемое на замену.

Основное применение - анализ данных, статистика, построение графиков от всего этого и не только двухмерных.

Octave только что пробовал. С гнуплот работать невозможно, а plplot не видит xwin как устройство вывода, соответственно рисует тольео в файл.

alexru ★★★★
() автор топика

Если действительно нужен root. На оффсайте вроде полноценная документация есть ( http://root.cern.ch/drupal/content/users-guide ). Чтение файла в Input/Output. Вывод соответственно в Graphs.

Вообще надо знать что ты хочешь в итоге получить, чтобы выбрать среду.

ZhAN ★★
()
Ответ на: комментарий от alexru

После некоторого анализа ROOT выглядит как очень хороший кандидат, но с кандачка не осваивается и придется читать документацию. Хочется увидеть что-то типа форума по нему или how-to-шки какие.

alexru ★★★★
() автор топика
Ответ на: комментарий от ZhAN

Периодически (раз в месяц где-то) встает задача обработать какой-то массив данных (записи аналоговых сигнлов, картинки и т.д.). Обработка - фильтрация, вычисление статистических параметров, построение графиков (иногда весьма сложных, типа полноценных поверхностей в 3d) - ничего сверх естественного. Матлаб справляется со всем этим на 100%.

Я просто ожидал, что для работы с CSV файлами в системах хоть как-то связанных с обработкой данных должны быть функции встроенные, ну или хотя-бы какой-то сайт с «рецептами».

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Вот тут ( http://www.linux.org.ru/gallery/screenshots/4890701 ) недавно какались на эту тему.

Octave и Scilab (и MatLAB, кстати тоже) — это среды численных вычислений.

Для обработки статистических данных народ котирует R.Сам не ковырял, но годный старт гуид тут ( http://wiki.linuxformat.ru/index.php/LXF100-101:R ).

Для обработки и анализа готовых данных в дебрях гуёв с уклоном в графикостроительство покатит qtiplot. Стоит обратить на него внимание, если лень разбираться с языками.

Но если решающим фактором является скорость вращения графиков, то даже не знаю, кто из них и быстрее будет.

ZhAN ★★
()
Ответ на: комментарий от ZhAN

Octave и Scilab (и MatLAB, кстати тоже) — это среды численных вычислений.

Я в курсе и считают они все одинаково хорошо для меня.

Но если решающим фактором является скорость вращения графиков, то даже не знаю, кто из них и быстрее будет.

Не только вращения. В матлаб я спокойно могу загрузить файл, содержащий 5 дорожек по 5e6 выборок и, построив их все на одном графике, спокойно внешне оценить сигнал и найти какие-то особенности заметные глазу. С гнуплот такой трюк не пройдет, он просто падает на таких выборках, аналогично себя ведет matplotlib.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Виноват, читал мельком. Посыпаю голову пеплом.

В общем я бы выбрал R. Да вот только сам не могу в обработке сигналов с scilab слезть. Привычка — страшная штука.

ZhAN ★★
()
Ответ на: комментарий от ZhAN

> В общем я бы выбрал R.

У R есть один недостаток: все данные должны храниться только в оперативной памяти. В обычной жизни это даже удобно, но в случае физики высоких энергий это ставит крест на использовании R. :(

Evgueni ★★★★★
()
Ответ на: комментарий от alexru

> Так PAW это-же предок ROOT. Причем с фортраном внутри. Си++ куда как приятней :)

Наружу у PAW для интерактивного анализа выставлен немного другой интерфейс который в разы удобнее голого C++ ROOT. Выбор C++ в качестве языка для анализа в ROOT в частности приводит к тому, что интерактивная работа с данными не шибко эффективна - приходится на любой чих писать скрипты или программы.

Evgueni ★★★★★
()
Ответ на: комментарий от alexru

Да, естественно, на PAW сейчас закладываться нет особого смысла, хотя изучить для полезных идей на будущее вполне разумно.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Прочитал первые статьи из серии и пролистал вторую часть. Похоже R - это то, что может заменить для меня матлаб, по крайней мере на небольших объемах данных.

В то же время в ROOT привлекает возможность провести сложную обработку данных, сейчас это обычно делается скриптами на питоне.

Видимо нужно пробовать использовать обе системы и посмотреть что из этого выйдет :)

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

А «замена» matlab разве не scilab?

Хотя безусловно согласен что R выглядит крайне привлекательно, по сравнению с ROOT с которым мне и приходится работать :(

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Под заменой понималось для моих задач. Я не знаю кто как, но я не могу проводить анализ данных без построения графиков, а Scilab насколько мне известно для вывода использует gnuplot, который жутко неудобный и тормозной. А задачи простые, с ними любая система справится легко.

Я пока сильно не смотрел, но судя по описаниям в ROOT можно сделать более или менее пристойный гуй, и можно делать интерактивные приложения для работы с данными, что может пригодиться, в принципе.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Тут же можно добавить, что я наблюдал как для визаулизации небольших объемов данных использовали Excel и, в принципе, он справлялся весьма неплохо. Я решил пока матлаб сегфолтится попробовать OOCalc и удивился насколько он тормозит :)

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Пробуй gnumeric, хотя использовать для анализа данных что-то exel-подобное, значит себя не любить.

Да, по поводу ROOT и GUI на основе него самого. Это возможно и примеры я видел, но настоятельно не рекомендую.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Пробуй gnumeric, хотя использовать для анализа данных что-то exel-подобное, значит себя не любить.

Согласен, зато быстро и порог вхождения минимален.

Да, по поводу ROOT и GUI на основе него самого. Это возможно и примеры я видел, но настоятельно не рекомендую.

Почему? Вроде в примерах вглядит все довольно здраво.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

>> Пробуй gnumeric, хотя использовать для анализа данных что-то exel-подобное, значит себя не любить.

Согласен, зато быстро и порог вхождения минимален.

Если анализ делается один раз, то на миллиметровки от руки нарисовать ещё быстрее, но если данное действие является повседневной профессиональной необходимостью, то руки в какой-то момент отсыхать начинают.

Да, по поводу ROOT и GUI на основе него самого. Это возможно и примеры я видел, но настоятельно не рекомендую.

Почему? Вроде в примерах вглядит все довольно здраво.

Оно не очень стабильно, хотя с некоторыми усилиями можно добиться успеха. В этом случае лучше Qt+канва в которой окно ROOT живёт. Ну или R+куча чего.

Evgueni ★★★★★
()
Ответ на: комментарий от alexru

Построил я нужную мне поверхность. Довольно приятно и интуитивно. Вот только никакой нтерактивности нет, неужели график нельзя «покрутить» в 3d?

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Извиняюсь за назойливость, но вот небольшой эксперимент.

Тестовая выбока http://dl.dropbox.com/u/6121480/rf.txt.bz2 (280Kb). В архиве - текстовый файл, запись реализации сигнала, 240000 точек. Один из самых простых случаев. В реальности нужно на порядок больше точек и параллельно до 5 реализаций.

Matlab: m = csvread('/tmp/rf.txt'); plot(m);

Выполняется за секунду (на глаз). После чего график можно масштабировать, двигать, смотреть значение функции в точках, все летает, для него это вообще не выборка.

R:

m <- read.table(«/tmp/rf.txt»)
plot(m)

Чтение - быстро, отрисовка - около 7 секунд, потом любое изменение размера окна - еще 7 секунд. Масштабировать нельзя.

Scilab:

d = read_csv(«/tmp/rf.txt»);

За 3 минуты так и не завершилось, непонятно что он делает, но это ненормально.

Я понимаю, что настоящие статистики не используют графики, но есть-же и не настоящие.

Напрмер в вышеприведеном файле нужно посчитать среднее значение и СКО отдельно для моментов «тишины» вначале и в конце выборки и отдельно для самого сигнала. При этом делать универсальный «выделятель» сигнала совершенно нет смысла, проше глазами посмотреть и узнать где начался и закончился сигнал.

Неужели это настолько редкая задача?

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Складывается впечатление, что у ROOT с этим все будет хорошо, но очевидного простого способа прочитать CSV файил нет, поэтому этот эксперимнт придется немног отложить :)

alexru ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.